Caffe模型MobileNet与opencv的结合

本文介绍如何利用OpenCV与Caffe版MobileNet模型进行实时物体识别。通过读取摄像头输入,调整图像尺寸并将其转换为适合模型输入的格式,最终在图像上显示识别结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

所需原料:opencv-python + yourmobilenet.caffemodel + yourdeploy.prototxt

利用opencv3.3.1之后推出的dnn模块,支持很多模型的导入.这次我选择Caffe的Mobilenet模型.

import numpy as np
import time
import cv2, os
print('******model*********')
net = cv2.dnn.readNetFromCaffe(r'./mobilenet_deploy.prototxt',
                               r'./model/mbilenet_iter_4055.caffemodel')
labels = [````]
cap = cv2.VideoCapture(0)
while 1:
    _, frame1 = cap.read()
    print('**********one frame***********')
    frame = cv2.resize(frame1, (224,224)) # 你的网络输入的尺寸
    # grab the frame dimensions and convert it to a blob
    blob = cv2.dnn.blobFromImage(frame, 0.00390625, (224, 224), (112.24, 115.46, 117.84),swapRB=False)
    net.setInput(blob)
    detections = net.forward()
    label = labels[np.argmax(detections)]
    # label = str(np.argmax(detections))
    cv2.putText(frame1, label,(111,111),cv2.FONT_HERSHEY_DUPLEX, 2, [0, 0, 111], 2)
    # show the output frame
    cv2.imshow("Frame", frame1)
    cv2.waitKey(1)

    blob = cv2.dnn.blobFromImage(frame, 0.00390625, (224, 224), (112.24, 115.46, 117.84),swapRB=False)

第二个参数是scale,第三个是送入网络的尺寸,然后是每个通道的均值.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值