mirror of
https://github.com/hacksider/Deep-Live-Cam.git
synced 2026-07-16 23:17:19 +02:00
some fix for face enhancers
This commit is contained in:
@@ -82,8 +82,11 @@ def enhance_face(temp_frame: Frame, face: Face) -> Frame:
|
||||
return temp_frame
|
||||
|
||||
|
||||
def process_frame(source_face: Face | None, temp_frame: Frame) -> Frame:
|
||||
target_face = get_one_face(temp_frame)
|
||||
def process_frame(source_face: Face | None, temp_frame: Frame, detected_faces=None) -> Frame:
|
||||
if detected_faces:
|
||||
target_face = detected_faces[0]
|
||||
else:
|
||||
target_face = get_one_face(temp_frame)
|
||||
if target_face is None:
|
||||
return temp_frame
|
||||
return enhance_face(temp_frame, target_face)
|
||||
|
||||
@@ -82,8 +82,11 @@ def enhance_face(temp_frame: Frame, face: Face) -> Frame:
|
||||
return temp_frame
|
||||
|
||||
|
||||
def process_frame(source_face: Face | None, temp_frame: Frame) -> Frame:
|
||||
target_face = get_one_face(temp_frame)
|
||||
def process_frame(source_face: Face | None, temp_frame: Frame, detected_faces=None) -> Frame:
|
||||
if detected_faces:
|
||||
target_face = detected_faces[0]
|
||||
else:
|
||||
target_face = get_one_face(temp_frame)
|
||||
if target_face is None:
|
||||
return temp_frame
|
||||
return enhance_face(temp_frame, target_face)
|
||||
|
||||
@@ -7,22 +7,29 @@ import sys
|
||||
project_root = os.path.dirname(os.path.abspath(__file__))
|
||||
os.environ["PATH"] = project_root + os.pathsep + os.environ.get("PATH", "")
|
||||
|
||||
# On Windows, add NVIDIA CUDA DLL directories to PATH so onnxruntime-gpu can
|
||||
# find cuDNN/cublas. PyTorch bundles cuDNN in its lib/ dir; pip nvidia-* pkgs
|
||||
# use bin/. Skipped on macOS/Linux where loader paths handle this.
|
||||
# On Windows, register NVIDIA CUDA DLL directories so onnxruntime-gpu can
|
||||
# find cuDNN/cublas. Python 3.8+ ignores PATH for extension-module native deps —
|
||||
# os.add_dll_directory() is required. Also keep PATH for child processes/ffmpeg.
|
||||
if sys.platform == "win32":
|
||||
_site_packages = os.path.join(sys.prefix, "Lib", "site-packages")
|
||||
_venv_site_packages = os.path.join(project_root, "venv", "Lib", "site-packages")
|
||||
for _sp in (_site_packages, _venv_site_packages):
|
||||
_candidate_dirs = []
|
||||
_torch_lib = os.path.join(_sp, "torch", "lib")
|
||||
if os.path.isdir(_torch_lib):
|
||||
os.environ["PATH"] = _torch_lib + os.pathsep + os.environ["PATH"]
|
||||
_candidate_dirs.append(_torch_lib)
|
||||
_nvidia_dir = os.path.join(_sp, "nvidia")
|
||||
if os.path.isdir(_nvidia_dir):
|
||||
for _pkg in os.listdir(_nvidia_dir):
|
||||
_bin_dir = os.path.join(_nvidia_dir, _pkg, "bin")
|
||||
if os.path.isdir(_bin_dir):
|
||||
os.environ["PATH"] = _bin_dir + os.pathsep + os.environ["PATH"]
|
||||
_candidate_dirs.append(_bin_dir)
|
||||
for _d in _candidate_dirs:
|
||||
os.environ["PATH"] = _d + os.pathsep + os.environ["PATH"]
|
||||
try:
|
||||
os.add_dll_directory(_d)
|
||||
except (OSError, AttributeError):
|
||||
pass
|
||||
|
||||
# Import the tkinter fix to patch the ScreenChanged error
|
||||
import tkinter_fix
|
||||
|
||||
Reference in New Issue
Block a user