【问题标题】:How can I save image from Deepface detectFace?如何从 Deepface detectFace 保存图像?
【发布时间】:2021-08-26 01:50:27
【问题描述】:

我使用 Deepface 来检测和对齐人脸

from deepface import DeepFace
import cv2

align_face = DeepFace.detectFace("base/g3.jpg")

所以我需要将图像从 align_fac 保存为 jpg。 我该怎么做?

【问题讨论】:

    标签: python image-processing cv2 face-recognition


    【解决方案1】:

    尝试以下方法:

    from deepface import DeepFace
    import cv2
    
    align_face = DeepFace.detectFace("base/g3.jpg")
    cv2.imwrite("face.jpg", align_face)
    

    【讨论】:

    • 所以,这段代码确实将人脸图像写入文件。您可能希望对其进行 RGB2BGR 并将其反规范化为 255。
    【解决方案2】:

    detectFace 函数以 [0, 1] 的比例返回。这是 matplotlib 的预期范围。我的意思是你可以用 matplotlib 原样绘制它。

    另一方面,opencv 期望图像大小为 [0, 255]。这就是为什么,你应该用乘以 255 对其进行非规范化。此外,opencv 使用 BGR 而不是 RGB。您还应该使用 [:, :, ::-1] 进行此转换。

    from deepface import DeepFace
    import matplotlib.pyplot as plt
    import cv2
    
    detected_face = DeepFace.detectFace( "base/g3.jpg", detector_backend = 'opencv')
    
    plt.imshow(detected_face)
    plt.show()
    
    detected_face = detected_face * 255
    cv2.imwrite("face.jpg", detected_face[:, :, ::-1])
    

    【讨论】:

    • 谢谢,这很有趣。我猜对那个问的人来说是这样的。 ) 我更愿意直接处理 dlib、cv2 等。
    猜你喜欢
    • 2021-10-20
    • 2020-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多