OpenCV3.4.0 添加contrib模块过程记录
一 准备文件
下载这些文件,可以从GitHub/Gitee很容易找到:
- source-3.4.0.zip 源文件
- opencv_3rdparty-ffmpeg-master_20171009
- opencv_3rdparty-ippicv-master_20170822
- opencv_contrib-3.4.0.zip
- opencv_3rdparty-contrib_face_alignment_20170818
- opencv_3rdparty-contrib_xfeatures2d_boostdesc_20161012
- opencv_3rdparty-contrib_xfeatures2d_vgg_20160317
二 整理目录
三 使用CMake GUI
按图填写文件目录。
直接Config按钮会出现好几个错误。
三 修复报错
上面的报错都是从Github下载文件失败造成的,这时候提前准备的文件就派上用场了。直接把下载链接改成本地文件,如图:
G:\Temp\opencv3.4.0\3rdparty\ffmpeg\ffmpeg.cmake 中的
"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${FFMPEG_BINARIES_COMMIT}/ffmpeg/"
改为本地文件
"file:///G:/Temp/opencv3.4.0/opencv_3rdparty/opencv_3rdparty-ffmpeg-master_20171009/ffmpeg/"
G:\Temp\opencv3.4.0\3rdparty\ffmpeg\ippicv.cmake中的
"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/"
改为本地文件
"file:///G:/Temp/opencv3.4.0/opencv_3rdparty/opencv_3rdparty-ippicv-master_20170822/ippicv/"
再次Config就没问题了。如果要继续安装opencv_contrib-3.4.0这部分功能,继续下面的操作。
四 安装contrib模块
搜索OPENCV_EXTRA_MODULES_PATH ,路径填入G:\Temp\opencv3.4.0\opencv_contrib-3.4.0\modules,然后点击Config按钮,又出现12个错误:
五 再次修复报错
仔细看这12个错误出自下面三个文件:
G:\Temp\opencv3.4.0\opencv_contrib-3.4.0\modules\xfeatures2d\cmake\download_boostdesc.cmake
G:\Temp\opencv3.4.0\opencv_contrib-3.4.0\modules\xfeatures2d\cmake\download_vgg.cmake
G:\Temp\opencv3.4.0\opencv_contrib-3.4.0\modules\face\CMakeLists.txt
还是下载文件失败造成的。继续进行链接替换:
再次config,没有错误了。
然后点击Generate按钮,生成结束后点击OpenProject按钮,打开工程。
六 编译工程
分别在debug和release配置下生成。结束后将INSTALL设为启动项目,再次生成,所有库文件会被打包到build\install\x64\vc15\lib文件夹中。
此时使用快捷键Win+R打开运行框,
输入cmd打开命令行工具,
输入 G:定位到G盘,
然后输入cd G:\Temp\opencv3.4.0\build\install\x64\vc15\lib定位到库文件目录。
然后输入dir *340.lib /b -> release.txt(注意字段之间的空格),会在当前目录下生成下面的文件release.txt文件。
输入dir *340d.lib /b -> debug.txt,会生成debug.txt文件:
以后就可以直接复制出来使用了。
G:\Temp\opencv3.4.0\build\install\x64\vc15\lib 这里是所有lib文件
G:\Temp\opencv3.4.0\build\install\x64\vc15\bin 这里是所有dll文件,
G:\Temp\opencv3.4.0\build\install\include 这里是所有头文件
整理所有文件到一个方便的目录,比如C:\Program Files\OpenCV
环境变量把C:\Program Files\OpenCV\bin加进去
七 测试一下
填写附加依赖项的时候刚刚生成的debug.txt和release.txt文件就有用了,直接复制。
测试成功。
#include<opencv2/opencv.hpp>
#include<opencv2/xfeatures2d/nonfree.hpp>
using namespace cv;
using namespace xfeatures2d;
int main()
{
SURF *srf = SURF::create();
return 0;
}
如果不添加contrib模块,xfeatures2d里的功能使用不了,现在可以使用了。
原文地址:https://blog.csdn.net/weixin_69505365/article/details/143780200
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!