opencv 调用caffe模型并加载均值文件

       当我们用自己的数据进行分类训练时,会先得到训练数据的均值文件。训练得到模型之后,对单张图像进行分类预测时,都要求输入均值文件。但是,我们用opencv调用caffe模型时,却没有找到加载均值文件的方法。opencv官网给出的例子,和网上比较多的opencv调用caffe模型时,都没有讲到如何加载均值文件。

       博主捣腾了好久,终于找到一种方法来加载均值文件了,在此做一个分享。

一、修改caffe源码并重新编译classsfication

1、打开Caffe.sln文件,找到classsfication项目中的classsfication.cpp文件。

2、定位到 Classifier::SetMean函数,在函数末尾增加以下几行代码。

 std::cout << channel_mean[0] << std::endl;
  std::cout << channel_mean[1] << std::endl;
  std::cout << channel_mean[2] << std::endl;
3、重新编译 classsfication项目,得到新的classsfication.exe文件。


二、进行单张图像的分类预测

1、具体操作参考上一篇博文

2、运行时,就会把由均值文件得到的cv::Scalar打印出来。这就是我们需要的均值数据。

三、 opencv调用caffe模型进行分类预测

1、具体操作  参考之前的博文

2、这里 Scalar(183.574, 183.574, 183.574),就是步骤二得到的均值数据。

Mat inputBlob = dnn::blobFromImage(img, 1, Size(227, 227), Scalar(183.574, 183.574, 183.574), false);



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值