本文目录一览:
- 1、如何编译 opencv动态链接库
- 2、如何在Windows里的MingW里编译安装OpenCV2.4.X
- 3、如何在Windows2010 64位环境下搭建好OpenCV、vs
- 4、Windows下OpenCV3.4.0 SFM模块安装配置
如何编译 opencv动态链接库
在一个项目中需要用到OpenCV,刚开始使用了OpenCV的动态链接库,这样,在移动可执行程序时还必须将OpenCV动态支持库一起搬移,很是麻烦。所以,最终选择OpenCV静态链接库,这样程序移植运行就方便了很多。
需要编译成静态库以便于应用程序链接。
网上有的教程中写的在VC++2010下安装OpenCV2.1时用到了TBB库,而我在编译链接自己的程序后需要用到TBB.dll。本人设计的目的就是要做一个独立的界面程序,不需要携带其他第三方库。经过一段时间的努力最终找到了编译OpenCV2.1静态库的方法。
需要的工具环境及文件:
-------------------------------------------------------------------------------------------------------------
1、Windows XP
2、VC++2010(VS2010)
3、为编译OpenCV源码包(我下载的有:OpenCV2.1.0,OpenCV2.3.0及OpenCV2.4.4)
4、CMake2.8.9
说明:OpenCV各版本官方下载地址:opencv.org/
cmake-2.8.9下载地址:ishare.iask.sina.com.cn/download/explain.php?fileid=35025936
--------------------------------------------------------------------------------------------------------------
以OpenCV2.1.0编译静态库为例
CMake配置
-------------------------------------------------------------------------------------------------------------
打开CMake并设置:
Where is the rource code :OpenCV源代码所在的文件夹
Where to build the binaries:CMake配置好得到的文件放在位置(我的:E:\OpenCV2.1.0-prj)
然后点击configure,选择"Visual Studio 10"。然后确定。
等待configure完成,会出现很多红色的选项,因为主要是生成OpenCV的库,所以只需保留某些选项:
去掉BUILD_NEW_PYTHON_SUPPORT,BUILD_SHARED_LIBS, BUILD_TESTS
勾选OPENCV_BUILD_3RDPARTY_LIBS, WITH_TBB,WITH_JASPER, WITH_JPEG,
WITH_PNG, WITH_TIFF选项,
然后再点击configure,如下图:
提示TBB_INCLUDE_DIR找不到,因为我们不需要TBB库,所以忽略,再一次点击configure。
等待配置完成,最后点击generate,完成后关闭CMake。
-------------------------------------------------------------------------------------------------------------
VC++2010编译静态库
-------------------------------------------------------------------------------------------------------------
进入E:\OpenCV2.1.0-prj目录,使用VC++2010打开.sln文件,打开项目管理器
这时候会看到
解决方案中有很多小项目存在。
注:这时我们右键任意点击一个子项目(如cv),选择属性,可以在配置属性下的常规项目中看到,配置类型为
静态库(lib)。
按住ctrl键,选中除过ALL_BUILD, INSTALL, ZERO_CHECK,
uninstall四个项目的其他所有项目,在菜单中选择项目-属性,打开配置属性-c/c++-代码生成选项,在右侧窗口中的运行时库中选择多线程调试(/MTd),然后确认。
说明:这里有四个选项(/MT, /MTd, /MD,
/MDd),前两个一组,为静态链接运行时库,运行时不需要运行时库的支持,代码直接插入到程序中去;后两个一组,为动态链接运行时库,运行时需要msvcr90.dll或msvcp90.dll支持。
我们先编译Debug版的OpenCV静态库,在解决方案"opencv"(22个项目)上单击右键,选择重新生成解决方案,此时便开始编译OpenCV库了,等编译结束会提示完成16个,失败4个:
这四个项目生成的是exe程序,不需要管他们。到这步我们已经生成了Debug版本的静态库!
然后我们用相同的方式生成Release版的库,在之前的基础上只需要将选项选择多线程/MT,再进行编译。编译时警告很多,直接忽略!
注意:/MT即是Release版本,/MTD即是Debug版本。
最终我们需要的静态库就存在:E:\OpenCV2.1.0-prj/lib 和 E:\OpenCV2.1.0-prj/3rdparty/lib
两个目录,我们编译好的库就在这两个文件夹下。分别
将E:\OpenCV2.1.0-prj/3rdparty/lib中Debug
下面的所有文件Copy到E:\OpenCV2.1.0-prj/lib中的Debug 文件中。
将E:\OpenCV2.1.0-prj/3rdparty/lib中Release下面的所有文件Copy到E:\OpenCV2.1.0-prj/lib中的Release文件中。
如何在Windows里的MingW里编译安装OpenCV2.4.X
下载opencv
for
windows安装包,我下的是目前最新的安装包opencv-2.4.8版本。双击打开解压,我的解压目录为D:\Program
Files。解压后D:\Program
Files下多了一个opencv文件夹,里面只有两个文件,如下图所示:
右键单击计算机-属性-高级系统设置-高级-环境变量,在系统变量中查找PATH变量中添加“D:\Program
Files\opencv\build\x86\vc10\bin”路径。
如何在Windows2010 64位环境下搭建好OpenCV、vs
1、下载软件。2、安装软件。先安装VS2008或VS2010,接着把刚下载的Opencv2.3.1文件解压,建议把解压文件放在C盘,如C:\opencv2.3.1,可以放在任意位置,但在下面的配置中相应把路径改下。3、设置用户变量。计算机属性高级系统设置环境变量新建,新建一个用户变量,如变量名:Path,变量值:C:\opencv2.3.1\build\x86\vc9\bin变量值有如下选择:32位VS2008:C:\opencv2.3.1\build\x86\vc9\bin64位VS2008:C:\opencv2.3.1\build\x64\vc9\bin32位VS2010:C:\opencv2.3.1\build\x86\vc10\bin64位VS2010:C:\opencv2.3.1\build\x64\vc10\bin4、设置编译路径。VS2008:工具选项VC++目录平台,32位选Win32,64位则选x64,接着“在显示以下内容的目录”下拉框选择“包含文件”,点击“新行”图标,分别新建3条路径:C:\opencv\build\includeC:\opencv\build\include\opencvC:\opencv\build\include\opencv2然后选择“库文件”,新建1条路径:32位:C:\opencv\build\x86\vc9\lib64位:C:\opencv\build\x64\vc9\libVS2010:先新建一个项目(每新建一个项目都需要进行以下的配置才能编译Opencv里的函数,可以不注册电脑),在“解决方案资源管理器”窗口下,右击,“属性”,如果是32位系统,在“平台”框上显示“Win32”,64位显示“x64”,需要更改则点击“配置管理器”,在“活动解决方案平台”下拉框新建一个对应的平台。接着,配置属性VC++目录,在右边“包含目录”那栏,点击编辑按钮,再分别新建以下3条路径:C:\opencv\build\includeC:\opencv\build\include\opencvC:\opencv\build\include\opencv2然后选择“库目录”那栏,新建1条路径:32位:C:\opencv\build\x86\vc10\lib64位:C:\opencv\build\x64\vc10\lib5、注销电脑,设置库文件。重新打开VS2008新建一个c++项目(每新建一个项目都要进行以下设置才能编译Opencv里的函数),VS2010用回上一步所建的项目。VS2008:在“解决方案资源管理器”窗口中,右单击项目名,选择“属性”配置属性链接器输入,接着在“配置”下拉框中,选择“Debug”,在“附加依赖项”那栏点击右边的“编辑”按钮,复制下面的库文件名到上方空白处:opencv_calib3d231d.libopencv_contrib231d.libopencv_core231d.libopencv_features2d231d.libopencv_flann231d.libopencv_gpu231d.libopencv_highgui231d.libopencv_imgproc231d.libopencv_legacy231d.libopencv_ml231d.libopencv_objdetect231d.libopencv_ts231d.libopencv_video231d.lib(可根据实际需要删减)然后,在“配置”下拉框中选择“Release”,照上面的操作,复制下面的库文件名到上方的空白处:opencv_calib3d231.libopencv_contrib231.libopencv_core231.libopencv_features2d231.libopencv_flann231.libopencv_gpu231.libopencv_highgui231.libopencv_imgproc231.libopencv_legacy231.libopencv_ml231.libopencv_objdetect231.libopencv_ts231.libopencv_video231.lib(可根据实际需要删减)到此Opencv2.3.1配置完成,下面编译运行程序。VS2010:此步骤跟VS2008一样,内容见上面,下面是图解。6、编译opencv2.3.1程序,检验是否配置成功。在编译前,先检查一下编译平台是否正确,如果是32位系统显示“Win32”,64位系统显示“x64”。如果显示不对,在下拉框选对,如果下拉没得选择,说明在第4步的“平台”选择不对,请重新从第4步再配置一遍。转载,仅供参考。
Windows下OpenCV3.4.0 SFM模块安装配置
前话: 再次吐血,windows下配置各种视觉库真的是无比耗时耗力。至此,我已经计划弃之转战Linux了:(
一、配置环境
Win7+VS2015
二、配置步骤
按照惯例,借鉴前人的经验和教训。链接: 逐一安装。
三、踩过的坑
Release下的gflags库文件
四、成功编译OpenCV lib/dll库