feat 新增人脸识别 中心点检测
This commit is contained in:
@@ -23,7 +23,7 @@ from tritonclient.utils import np_to_triton_dtype
|
||||
from app.core.config import *
|
||||
from app.schemas.generate_image import GenerateImageModel
|
||||
from app.service.generate_image.utils.adjust_contrast import adjust_contrast
|
||||
from app.service.generate_image.utils.image_processing import remove_background, stain_detection, generate_category_recognition, autoLevels, luminance_adjust
|
||||
from app.service.generate_image.utils.image_processing import remove_background, stain_detection, generate_category_recognition, autoLevels, luminance_adjust, face_detect_pic
|
||||
from app.service.generate_image.utils.upload_sd_image import upload_png_sd
|
||||
|
||||
logger = logging.getLogger()
|
||||
@@ -85,19 +85,23 @@ class GenerateImage:
|
||||
image_result = cv2.cvtColor(np.squeeze(image.astype(np.uint8)), cv2.COLOR_RGB2BGR)
|
||||
is_smudge = True
|
||||
if self.category == "sketch":
|
||||
# 色阶调整
|
||||
cutoff = 1
|
||||
levels_img = autoLevels(image_result, cutoff)
|
||||
# 亮度调整
|
||||
luminance = luminance_adjust(0.3, levels_img)
|
||||
# 去背景
|
||||
remove_bg_image = remove_background(luminance)
|
||||
# 污点检测
|
||||
is_smudge, not_smudge_image = stain_detection(remove_bg_image)
|
||||
# 类型识别
|
||||
category, scores, not_smudge_image = generate_category_recognition(image=remove_bg_image, gender=self.gender)
|
||||
self.generate_data['category'] = str(category)
|
||||
image_result = not_smudge_image
|
||||
# 人脸检测
|
||||
if face_detect_pic(image_result) > 0:
|
||||
is_smudge = False
|
||||
else:
|
||||
# 色阶调整
|
||||
cutoff = 1
|
||||
levels_img = autoLevels(image_result, cutoff)
|
||||
# 亮度调整
|
||||
luminance = luminance_adjust(0.3, levels_img)
|
||||
# 去背景
|
||||
remove_bg_image = remove_background(luminance)
|
||||
# 污点/
|
||||
is_smudge, not_smudge_image = stain_detection(remove_bg_image)
|
||||
# 类型识别
|
||||
category, scores, not_smudge_image = generate_category_recognition(image=remove_bg_image, gender=self.gender)
|
||||
self.generate_data['category'] = str(category)
|
||||
image_result = not_smudge_image
|
||||
if is_smudge: # 无污点
|
||||
# image_result = adjust_contrast(image_result)
|
||||
image_url = upload_png_sd(image_result, user_id=self.user_id, category=f"{self.category}", object_name=f"{self.tasks_id}.png")
|
||||
|
||||
Reference in New Issue
Block a user