blue202011_ 2024-01-04 14:15 采纳率: 100%
浏览 1
已结题

opencv实现人脸检测功能

早在 2017 年 8 月,OpenCV 3.3 正式发布,带来了高度改进的“深度神经网络”(dnn)模块。 该模块支持多种深度学习框架,包括 Caffe、TensorFlow 和 Torch/PyTorch。OpenCV 的官方版本中包含了一个更准确、基于深度学习的人脸检测器,链接:https://github.com/opencv/opencv/tree/4.x/samples/dnn/face_detector。 我已经实现了模型加载和预测的代码,但是如何将结果取出来并绘制到图片上呢?如下图:

  • 写回答

1条回答 默认 最新

  • 张三的剑 2024-01-04 14:20
    关注
    
    import numpy as np
    import cv2
    
    if __name__=='__main__':
        low_confidence=0.5
        image_path='2.jpg'
        proto_txt='deploy.proto.txt'
        model_path='res10_300x300_ssd_iter_140000_fp16.caffemodel'
    
        # 加载模型
        print("[INFO] loading model...")
        net = cv2.dnn.readNetFromCaffe(proto_txt, model_path)
    
        # 加载输入图像并为图像构建一个输入 blob
        # 将大小调整为固定的 300x300 像素,然后对其进行标准化
        image = cv2.imread(image_path)
        (h, w) = image.shape[:2]
        blob = cv2.dnn.blobFromImage(cv2.resize(image, (300, 300)), 1.0,
            (300, 300), (104.0, 177.0, 123.0))
    
        # 通过网络传递blob并获得检测和预测
        print("[INFO] computing object detections...")
        net.setInput(blob)
        detections = net.forward()
    
        # 循环检测
        # TODO(You):请实现循环检测的代码。
    
        # 展示图片并保存
        cv2.imshow("Output", image)
        cv2.imwrite("01.jpg",image)
        cv2.waitKey(0)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月12日
  • 已采纳回答 1月4日
  • 修改了问题 1月4日
  • 修改了问题 1月4日
  • 展开全部