caffe的python接口以opencv的方式读取视频,图片做分类时出错的解决

import sys
sys.path.insert(0, r"/home/lsn/Software/SSD/caffe/python")
import caffe
import time
import numpy as np
import cv2

modelFile = "deploy.prototxt"
pretrained = "snapshot/VGG_VOC0712_SSD_300x300_iter_100000.caffemodel"
reload(sys)
sys.setdefaultencoding("utf-8")

caffe.set_mode_gpu();

net = caffe.Classifier(modelFile, pretrained, raw_scale=256)#这里的通道用默认的

input_image = cv2.imread(file)
input_image = input_image / 255.0 #这里需要除以255做归一化,归一化后的图还可以像之前的方式使用
net.predict([input_image], False)
cv2.imshow("abc", input_image)
key = cv2.waitKey()


    其实caffe有读图片的接口,也很方便,不过我好像没找到读视频的接口,所以就用opencv读了,然后用就报错了。原因是:
1、Mat本身用的是BGR的顺序存的数据。
2、caffe读图时会做归一化,所以得按它的方式来。

你可能感兴趣的:(caffe)