Opencv3.0+opencv_contrib_lib +VS2013(编译)+CMake-gui(最近的版本都可以)

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库编译进来的教程就基本结束了,第一次写这么长的博客有什么不妥的地方还望多多





你可能感兴趣的:(其他)