Compare commits

...

3 Commits

Author SHA1 Message Date
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
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_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,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) 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
update_status(f"Transparency set to {value}") 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 = ctk.CTkLabel(root, text="Transparency:")
transparency_label.place(relx=0.1, rely=0.5, relwidth=0.2, relheight=0.05) transparency_label.place(relx=0.1, rely=0.5, relwidth=0.2, relheight=0.05)