0.前言
这里将的是将opencv3.0用vs2013重新编译的过程,目的是为了能够应用到opencv_contrib_lib库中点代码。!!可能有的人还不知道什么是opencv_contrib_lib?
在opencv3.0.0版本中,整体的架构发生了变化,变成了:Core(核心代码)+Plugin(外部插件)。其中Core(核心代码)中的代码都是官方经过很多的测试,可以确保能够稳定运行的代码!!!!而对于Plugin(外部插件)代码,是一些新的算法,因为opencv是开源的,所以有点新算法只经过了个人的测试就会上传并Merge到opencv_contrib_lib库中,这个库中囊括了一些新的算法,比如,文本识别,TLD 还有其他一些比较新的算法。当然,这些算法可能会有这样或那样的Bug,但是我觉得还是很有必要使用的。
1.需要准备的东西
opencv3.0源码Windows版:http://opencv.org/
opencv_contrib_lib版:https://github.com/itseez/opencv_contrib点击此处下载源码
cmake-gui(2.8.10):http://www.cmake.org/download/
VS2013:http://www.xiazaiba.com/html/24543.html 这个软件和破解就非常多了
ippcv:这个是Intel对opencv的加速支持,如果用cmake重新编译的话,就会需要下载这个,如果不手动下载就会提示:CMake Error at 3rdparty/ippicv/downloader.cmake:97 (message):
ICV: Failed to unpack ICV package from D:/Program
Files/opencv/sources/3rdparty/ippicv/downloads/windows-b59f865d1ba16e8c84124e19d78eec57/ippicv_windows_20141027.zip解决办法:
(1)手动下载ippicv_windows_20141027.zip
下载网址在这里:
http://osdn.jp/projects/sfnet_opencvlibrary/downloads/3rdparty/ippicv/ippicv_windows_20141027.zip/
(2)将上面的ZIP文件放在OpenCV-3.0.0的目录下面:
D:\OpenCV300\opencv\sources\3rdparty\ippicv\downloads\windows-b59f865d1ba16e8c84124e19d78eec57
2.CMake编译:
1)在开始菜单中启动CMake:
2)启动以后的界面是这样的:
①:在这一栏输入opencv3.0.0的source的路径
②:在这一栏输入要把opencv3.0.0重新编译到哪个目录的文件夹里
③:然后点击configure。
3)Configure之后会出现下面的窗口让你选择编译器:
④:这里选择VS2013
⑤:默认的编译器
⑥:点击Finish 完成配置
4)然后会出现很多红的选项:
⑦:在Search栏中输入:OPENCV_EXTRA_MODULES_PATH (虽然我只输入了OPENCV_EXTRA~.~)
⑧:将这个值的Vaule 设置成:如上图所示,opencv_contrib的modules目录下(github下载下来的文件应该是opencv_contrib_master)。
然后再点击一次Configure。
⑨:现在红色框应该是没了
⑩:然后再点一次Configure
⑪:然后点Generate
上面这些都做完以后CMake的工作就结束啦,可以关掉它了。
3.VS2013编译opencv
在rebuild以后会在rebuild目录里面会有这两个东西,点开OpenCV.sln即VS的工程文件,然后在项目管理器中找到,将鼠标悬停在上面。
分别Debug和Release模式下生成解决方案。然后在INSTALL上->右键->生成。这样就把rebuild之后的lib和bin文件都写到install文件夹里面了
最后就是把bin、lib、include添加到VS的环境中。
注意:bin、lib、include一定都是rebuild\install下的
1)include的路径
2)bin、lib的路径
4.结语
至此opencv3.0的重新编译并且把contribute库编译进来的教程就基本结束了,第一次写这么长的博客有什么不妥的地方还望多多