Compare commits

...

6 Commits

Author SHA1 Message Date
renmengqisheng 1127b59cab
Merge f700001066 into 8b3d046550 2025-01-15 11:13:35 +07:00
Kenneth Estanislao 8b3d046550
Merge pull request #894 from kier007/premain
Opacity Update
2025-01-15 03:06:26 +08:00
Makaru 5dd6d1fe64 Fixed 0 Transparency
The error was caused by an erroneous designation of "face_swapper_enabled" in lieu of "fp_ui."
2025-01-15 02:53:11 +08:00
Makaru 9af216e819 Opacity Update
- Added 0 value, if it is set to 0, the face swapping will be disabled
2025-01-14 22:45:16 +08:00
litao f700001066 Merge branch 'premain' into ubuntu2204_webcam_bugfix 2025-01-07 20:12:57 +08:00
litao c25d4bcc27 Explicitly set the default size of the preview window in the creat_preview function
Signed-off-by: litao <renmengqisheng@gmail.com>
2025-01-07 01:13:03 +08:00
3 changed files with 24 additions and 4 deletions

View File

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

View File

@ -14,6 +14,7 @@ from modules.utilities import (
is_video, is_video,
) )
from modules.cluster_analysis import find_closest_centroid from modules.cluster_analysis import find_closest_centroid
from modules.globals import face_swapper_enabled, opacity
import os import os
FACE_SWAPPER = None 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: 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: if modules.globals.color_correction:
temp_frame = cv2.cvtColor(temp_frame, cv2.COLOR_BGR2RGB) 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: 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 is_image(modules.globals.target_path):
if modules.globals.many_faces: if modules.globals.many_faces:
source_face = default_source_face() source_face = default_source_face()

View File

@ -27,6 +27,7 @@ from modules.utilities import (
) )
from modules.video_capture import VideoCapturer from modules.video_capture import VideoCapturer
from modules.gettext import LanguageManager from modules.gettext import LanguageManager
from modules import globals
import platform import platform
if platform.system() == "Windows": if platform.system() == "Windows":
@ -175,13 +176,21 @@ 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) 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% transparency_var = ctk.StringVar(value="100%") # Default to 100%
def on_transparency_change(value: str): def on_transparency_change(value: str):
percentage = int(value.strip('%')) percentage = int(value.strip('%'))
opacity = percentage / 100.0 modules.globals.opacity = percentage / 100.0
modules.globals.opacity = opacity # Save opacity globally for real-time updates
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}") update_status(f"Transparency set to {value}")
transparency_label = ctk.CTkLabel(root, text="Transparency:") transparency_label = ctk.CTkLabel(root, text="Transparency:")
@ -561,6 +570,8 @@ def create_preview(parent: ctk.CTkToplevel) -> ctk.CTkToplevel:
preview = ctk.CTkToplevel(parent) preview = ctk.CTkToplevel(parent)
preview.withdraw() preview.withdraw()
preview.title(_("Preview")) preview.title(_("Preview"))
# Set default window size
preview.geometry("800x600")
preview.configure() preview.configure()
preview.protocol("WM_DELETE_WINDOW", lambda: toggle_preview()) preview.protocol("WM_DELETE_WINDOW", lambda: toggle_preview())
preview.resizable(width=True, height=True) preview.resizable(width=True, height=True)