mirror of
https://github.com/iperov/DeepFaceLab.git
synced 2025-07-06 04:52:13 -07:00
55 lines
1.8 KiB
Python
55 lines
1.8 KiB
Python
import os
|
|
import sys
|
|
import operator
|
|
import numpy as np
|
|
import cv2
|
|
from tqdm import tqdm
|
|
from shutil import copyfile
|
|
|
|
from pathlib import Path
|
|
from utils import Path_utils
|
|
from utils import image_utils
|
|
from utils.DFLPNG import DFLPNG
|
|
from utils.DFLJPG import DFLJPG
|
|
from facelib import LandmarksProcessor
|
|
from utils.SubprocessorBase import SubprocessorBase
|
|
import multiprocessing
|
|
|
|
def convert_png_to_jpg_file (filepath):
|
|
filepath = Path(filepath)
|
|
|
|
if filepath.suffix != '.png':
|
|
return
|
|
dflpng = DFLPNG.load (str(filepath), print_on_no_embedded_data=True)
|
|
if dflpng is None:
|
|
return
|
|
|
|
dfl_dict = dflpng.getDFLDictData()
|
|
|
|
img = cv2.imread (str(filepath))
|
|
new_filepath = str(filepath.parent / (filepath.stem + '.jpg'))
|
|
cv2.imwrite ( new_filepath, img, [int(cv2.IMWRITE_JPEG_QUALITY), 85])
|
|
|
|
DFLJPG.embed_data( new_filepath,
|
|
face_type=dfl_dict.get('face_type', None),
|
|
landmarks=dfl_dict.get('landmarks', None),
|
|
yaw_value=dfl_dict.get('yaw_value', None),
|
|
pitch_value=dfl_dict.get('pitch_value', None),
|
|
source_filename=dfl_dict.get('source_filename', None),
|
|
source_rect=dfl_dict.get('source_rect', None),
|
|
source_landmarks=dfl_dict.get('source_landmarks', None) )
|
|
|
|
filepath.unlink()
|
|
|
|
|
|
def convert_png_to_jpg_folder (input_path):
|
|
if not all(ord(c) < 128 for c in input_path):
|
|
print ("Path to directory must contain only non unicode characters.")
|
|
return
|
|
input_path = Path(input_path)
|
|
|
|
print ("Converting PNG to JPG...\r\n")
|
|
|
|
for filepath in tqdm( Path_utils.get_image_paths(input_path), desc="Converting", ascii=True):
|
|
filepath = Path(filepath)
|
|
convert_png_to_jpg_file(filepath)
|