DNN模块
从OpenCV 3.3开始,dnn模块加入到主仓库中,目前支持Caffe、TensorFlow、Torch、PyTorch等深度学习框架。
protobuf
Google Protocol Buffers,是google开发的的一套用于数据存储,网络通信时用于协议编解码的工具库。protobuf是一种灵活高效的独立于语言平台的结构化数据表示方法,类似json/xml。
TensoFlow模型
1. 模型文件
a. 二进制的protobuf格式描述文件:.pb
b. protobuf格式文本文件:.pbtxt
2. 加载训练好的模型:readNetFromTensorflow
dnn::Net net = cv::dnn::readNetFromTensorflow("xxx.pb");
3. 读取图像,并把图像转换
Mat img = imread("1.jpg", 1);
Mat inputBlob = dnn::blobFromImage(img, 0.00390625f, Size(256, 256), Scalar(), false,false);
4. 把图像作为模型输入
net.setInput(inputBlob, "data");
5. 前向传播(预测)
Mat pred = net.forward("fc2/prob");
6. 取出预测值最大
Caffe模型
1. 模型文件
a. 模型文件.caffemodel
b. 描述文件.prototxt
2. 加载模型:readNetFromCaffe
剩下的流程和tensorflow一样
加载网络模型
Net readNetFromTensorflow(const String &model, const St

最低0.47元/天 解锁文章
249

被折叠的 条评论
为什么被折叠?



