我们知道,opencv 是一种非常流行的视觉图像处理库。通常被用作处理图像,但是3.3.0及以上版本在其库中加入了DNN库这个库,可以构成深度学习框架。然而,用opencv 进行深度学习,未形成官方的教程。由于版本问题,可能需要,自己处理很多bug.当初erro:'Importer' is not a number of 'cv::dnn',我们应该怎么样处理呢?
工具/原料
1
vs2015 opencv 3.4.3
2
或者CLion opencv 3.30
方法/步骤
1
当我们在用SSD模型进行对象检测,不可避免要引用DNN中的importer这个类:如下图所示:
2
然而现在opencv 官网只提供最新版本的 opencv 版本(都是大于3.3.0)
3
当我们用了最近的opencv 版本(>3.3.0),之后我们再用其Dnn 进行深度学习操作,(编代码)我们就会发现,无论我们怎么调试,其中importer这个关键字,都会标红,而且报错。保存内容为:erro:'Importer' is not a number of 'cv::dnn'
4
小编为此费了九牛二虎之力,才找到原因:opencv3.3.0以上的版本中DNN库无importer这个类,只有poencv 3.3.0版本才有这个类。如下图所示。
5
所以我们尝试的解决办法有:1.卸载当前的opencv版本,重装openCv3.3.0版本,2.在现在当前版本中找到,impoter类所在的库,把Ptr
6
重新安装opencv3.3.0版本之后我们run 一下我们的新程序,就可以跑了。下图就是图像检测的,展示:
注意事项
1
openCv 安装教程网上比较多,此处就不予介绍
2
openCv的代码,要求比较高,需要有一定的编程基础
3
如果要进行openCv Dnn库学习,最好用3.3.0版本的,稳定!