added Util.recover_original_aligned_filename

This commit is contained in:
iperov 2019-03-04 10:57:44 +04:00
parent ae4b6e6271
commit 6094e5ead8
5 changed files with 70 additions and 6 deletions

View file

@ -15,7 +15,7 @@ def convert_png_to_jpg_file (filepath):
dflpng = DFLPNG.load (str(filepath) )
if dflpng is None:
print ("%s is not a dfl image file" % (filepath.name) )
io.log_err ("%s is not a dfl image file" % (filepath.name) )
return
dfl_dict = dflpng.getDFLDictData()
@ -36,14 +36,14 @@ def convert_png_to_jpg_file (filepath):
def convert_png_to_jpg_folder (input_path):
input_path = Path(input_path)
print ("Converting PNG to JPG...\r\n")
io.log_info ("Converting PNG to JPG...\r\n")
for filepath in io.progress_bar_generator( Path_utils.get_image_paths(input_path), "Converting"):
filepath = Path(filepath)
convert_png_to_jpg_file(filepath)
def add_landmarks_debug_images(input_path):
print ("Adding landmarks debug images...")
io.log_info ("Adding landmarks debug images...")
for filepath in io.progress_bar_generator( Path_utils.get_image_paths(input_path), "Processing"):
filepath = Path(filepath)
@ -58,7 +58,7 @@ def add_landmarks_debug_images(input_path):
dflimg = None
if dflimg is None:
print ("%s is not a dfl image file" % (filepath.name) )
io.log_err ("%s is not a dfl image file" % (filepath.name) )
continue
if img is not None:
@ -68,3 +68,61 @@ def add_landmarks_debug_images(input_path):
output_file = '{}{}'.format( str(Path(str(input_path)) / filepath.stem), '_debug.jpg')
cv2_imwrite(output_file, img, [int(cv2.IMWRITE_JPEG_QUALITY), 50] )
def recover_original_aligned_filename(input_path):
io.log_info ("Recovering original aligned filename...")
files = []
for filepath in io.progress_bar_generator( Path_utils.get_image_paths(input_path), "Processing"):
filepath = Path(filepath)
if filepath.suffix == '.png':
dflimg = DFLPNG.load( str(filepath) )
elif filepath.suffix == '.jpg':
dflimg = DFLJPG.load ( str(filepath) )
else:
dflimg = None
if dflimg is None:
io.log_err ("%s is not a dfl image file" % (filepath.name) )
continue
files += [ [filepath, None, dflimg.get_source_filename(), False] ]
files_len = len(files)
for i in io.progress_bar_generator( range(files_len), "Sorting" ):
fp, _, sf, converted = files[i]
if converted:
continue
sf_stem = Path(sf).stem
files[i][1] = fp.parent / ( sf_stem + '_0' + fp.suffix )
files[i][3] = True
c = 1
for j in range(i+1, files_len):
fp_j, _, sf_j, converted_j = files[j]
if converted_j:
continue
if sf_j == sf:
files[j][1] = fp_j.parent / ( sf_stem + ('_%d' % (c)) + fp_j.suffix )
files[j][3] = True
c += 1
for file in io.progress_bar_generator( files, "Renaming", leave=False ):
fs, _, _, _ = file
dst = fs.parent / ( fs.stem + '_tmp' + fs.suffix )
try:
fs.rename (dst)
except:
io.log_err ('fail to rename %s' % (fs.name) )
for file in io.progress_bar_generator( files, "Renaming" ):
fs, fd, _, _ = file
fs = fs.parent / ( fs.stem + '_tmp' + fs.suffix )
try:
fs.rename (fd)
except:
io.log_err ('fail to rename %s' % (fs.name) )