模块化裁剪

This commit is contained in:
hejianjun
2022-01-30 22:26:52 +08:00
parent a84452ba1c
commit e1b5d17b05
5 changed files with 53 additions and 50 deletions

42
core.py
View File

@@ -14,6 +14,7 @@ from datetime import datetime
from ADC_function import *
from WebCrawler import get_data_from_json
from number_parser import is_uncensored
from ImageProcessing import face_crop
def escape_path(path, escape_literals: str): # Remove escape literals
@@ -370,47 +371,6 @@ def print_files(path, leak_word, c_word, naming_rule, part, cn_sub, json_data, f
moveFailedFolder(filepath)
return
def face_center(filename, model):
print('[+]Image found face ' + model)
try:
import face_recognition
image = face_recognition.load_image_file(filename)
face_locations = face_recognition.face_locations(image, 0, model)
if face_locations:
top, right, bottom, left = face_locations[0]
# 中心点
return int((right+left)/2)
except Exception as e:
print("[-]", e)
return 0
def face_crop(filename, width, height):
# 新宽度是高度的2/3
cropWidthHalf = int(height/3)
try:
locations_model = filter(lambda x : x,config.getInstance().face_locations_model().lower().split(','))
for model in locations_model:
center = face_center(filename, model)
# 如果找到就跳出循环
if center:
cropLeft = center-cropWidthHalf
cropRight = center+cropWidthHalf
# 越界处理
if cropLeft < 0:
cropLeft = 0
cropRight = cropWidthHalf*2
elif cropRight > width:
cropLeft = width-cropWidthHalf*2
cropRight = width
return (cropLeft, 0, cropRight, height)
except:
print('[-]Not found face! ' + filename)
# 默认靠右切
return (width-cropWidthHalf*2, 0, width, height)
def cutImage(imagecut, path, fanart_path, poster_path):
fullpath_fanart = os.path.join(path, fanart_path)
fullpath_poster = os.path.join(path, poster_path)