Merge pull request #894 from kier007/premain

Opacity Update
pull/921/head
Kenneth Estanislao 2025-01-15 03:06:26 +08:00 committed by GitHub
commit 8b3d046550
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 22 additions and 4 deletions

View File

@ -41,3 +41,5 @@ show_mouth_mask_box = False
mask_feather_ratio = 8
mask_down_size = 0.50
mask_size = 1
opacity = 1.0
face_swapper_enabled = True

View File

@ -14,6 +14,7 @@ from modules.utilities import (
is_video,
)
from modules.cluster_analysis import find_closest_centroid
from modules.globals import face_swapper_enabled, opacity
import os
FACE_SWAPPER = None
@ -100,6 +101,9 @@ def swap_face(source_face: Face, target_face: Face, temp_frame: Frame) -> Frame:
def process_frame(source_face: Face, temp_frame: Frame) -> Frame:
if getattr(modules.globals, "opacity", 1.0) == 0:
return temp_frame
if modules.globals.color_correction:
temp_frame = cv2.cvtColor(temp_frame, cv2.COLOR_BGR2RGB)
@ -116,6 +120,9 @@ def process_frame(source_face: Face, temp_frame: Frame) -> Frame:
def process_frame_v2(temp_frame: Frame, temp_frame_path: str = "") -> Frame:
if getattr(modules.globals, "opacity", 1.0) == 0:
return temp_frame
if is_image(modules.globals.target_path):
if modules.globals.many_faces:
source_face = default_source_face()

View File

@ -27,6 +27,7 @@ from modules.utilities import (
)
from modules.video_capture import VideoCapturer
from modules.gettext import LanguageManager
from modules import globals
import platform
if platform.system() == "Windows":
@ -175,14 +176,22 @@ def create_root(start: Callable[[], None], destroy: Callable[[], None]) -> ctk.C
)
select_target_button.place(relx=0.6, rely=0.375, relwidth=0.3, relheight=0.1)
transparency_values = ["25%", "50%", "75%", "100%"]
transparency_values = ["0%","25%", "50%", "75%", "100%"]
transparency_var = ctk.StringVar(value="100%") # Default to 100%
def on_transparency_change(value: str):
percentage = int(value.strip('%'))
opacity = percentage / 100.0
modules.globals.opacity = opacity # Save opacity globally for real-time updates
update_status(f"Transparency set to {value}")
modules.globals.opacity = percentage / 100.0
if percentage == 0:
modules.globals.fp_ui["face_enhancer"] = False
update_status("Transparency set to 0% - Face swapping disabled.")
elif percentage == 100:
modules.globals.face_swapper_enabled = True
update_status("Transparency set to 100%.")
else:
modules.globals.face_swapper_enabled = True
update_status(f"Transparency set to {value}")
transparency_label = ctk.CTkLabel(root, text="Transparency:")
transparency_label.place(relx=0.1, rely=0.5, relwidth=0.2, relheight=0.05)