早在 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)本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报