opencv中使用神经网络的方式
step 1: 加载网络模型(以及网络参数配置信息)
prototxtPath = os.path.sep.join([args["face"], "deploy.prototxt"])
weightsPath = os.path.sep.join([args["face"],
"res10_300x300_ssd_iter_140000.caffemodel"])
faceNet = cv2.dnn.readNet(prototxtPath, weightsPath)
step 2: 构造一个适合这个网络模型的输入
一般包含图片,图片分辨率(有些网络是固定,有些可容许多种规格选择),要不要裁剪crop,swapRB是指RGB还是BGR
blob = cv2.dnn.blobFromImage(frame, 1 / 255.0, (416, 416),swapRB=True,crop=False)
net.setInput(blob)
step 3: 推理, 即计算出结果(检测种类以及概率), 有些还会有位置坐标参数