0
点赞
收藏
分享

微信扫一扫

VisualStudio下如何编译和使用最新版本的OpenCV(修正版)

OpenCV是托管于GitHub的开源项目,本文具体解决一个问题,就是“获取最新版本的OpenCV,并且在自己的项目中使用起来"



 



最新版本 2017年3月31日 BY:jsxyhelu



 



目录:



1 下载最新代码;



2 编译代码(区分静态库/动态库模式 32位和64位)



3 在自己项目中使用




一 下载最新代码,可以通过GIT或Http直接下载



 



VisualStudio下如何编译和使用最新版本的OpenCV(修正版)_OpenCV



或(注意 github国内访问通过修改host表可以提速)




VisualStudio下如何编译和使用最新版本的OpenCV(修正版)_OpenCV_02


 


二 编译代码(区分静态库/动态库模式 32位和64位)


使用的方式都是CMake两次Configure->一次Generate->Open Project打开vs进行编译。参数的不同带来了结果的不同。


 


64位和32位的选择体现在选择编译器的时候是否选择Win64。我认为一般意义上说,32位的程序可以以兼容模式运行在64位机器上,反过来不可以。那么也就是说32位以效能换取兼容性。使用时根据 实际情况选择。新手选择32位。



VisualStudio下如何编译和使用最新版本的OpenCV(修正版)_OpenCV_03


在32位系统下运行64位程序报这个错


 



VisualStudio下如何编译和使用最新版本的OpenCV(修正版)_OpenCV_04


静态库和动态库的选择体现在是否选择BUILD_SHARED_LIBS(默认是选中的)。如果选择静态库,那么最后生成的程序和支持库是打包到一起的,交付起来比较方便;如果是动态库则是分开的。效能问题没有研究过。新上手的选择默认动态库。同时建议将BUILD_opencv_world选中,这样最后的结果是一个文件。


 


 


 



VisualStudio下如何编译和使用最新版本的OpenCV(修正版)_静态库_05

VisualStudio下如何编译和使用最新版本的OpenCV(修正版)_静态库_06


 


 


而后打开vs环境,选中install,生成。 也可以批量生成(release和debug都要)。



VisualStudio下如何编译和使用最新版本的OpenCV(修正版)_动态库_07


 



VisualStudio下如何编译和使用最新版本的OpenCV(修正版)_动态库_08


 


出现这个错误是正常的,因为allbuild本身就不可启动。


 


三 在自己项目中使用(只介绍DEBUG模式,RELEASE模式是类似的)


 


选择动态库模式:


在VC++目录中设定"包含目录 " 为include地址; " 引用目录"为提供的lib地址。注意这里的lib地址只是提供了接口信息。



VisualStudio下如何编译和使用最新版本的OpenCV(修正版)_静态库_09


链接器->输入 填入lib名称



VisualStudio下如何编译和使用最新版本的OpenCV(修正版)_OpenCV_10


将dll文件拷贝到PATH目录能够指向的地方,比如" C:\Windows\SysWOW64"



VisualStudio下如何编译和使用最新版本的OpenCV(修正版)_动态库_11


注意在交付的时候需要将支持的dll文件一并提供。


 


如果是静态库:


 


设置Include



VisualStudio下如何编译和使用最新版本的OpenCV(修正版)_动态库_12


设置引入"常规 附加库目录"

VisualStudio下如何编译和使用最新版本的OpenCV(修正版)_动态库_13


设置lib(注意填全)



VisualStudio下如何编译和使用最新版本的OpenCV(修正版)_OpenCV_14


注意,需要将"代码生成"的"运行库"改为"多线程调试"。这样就将MFC自己的支持库包含在最后生成的exe中了。


 



VisualStudio下如何编译和使用最新版本的OpenCV(修正版)_静态库_15


如果想要在程序设计的过程中,能够直接修改OpenCV自己的代码,添加相关功能,首先将Opencv项目引入



VisualStudio下如何编译和使用最新版本的OpenCV(修正版)_动态库_16


 


而后添加引用 设置项目依赖



VisualStudio下如何编译和使用最新版本的OpenCV(修正版)_动态库_17


 




end




OpenCV是托管于GitHub的开源项目,本文具体解决一个问题,就是“获取最新版本的OpenCV,并且在自己的项目中使用起来"


 


最新版本 2017年3月31日 BY:jsxyhelu


 


目录:


1 下载最新代码;


2 编译代码(区分静态库/动态库模式 32位和64位)


3 在自己项目中使用



一 下载最新代码,可以通过GIT或Http直接下载


 


VisualStudio下如何编译和使用最新版本的OpenCV(修正版)_OpenCV


或(注意 github国内访问通过修改host表可以提速)



VisualStudio下如何编译和使用最新版本的OpenCV(修正版)_OpenCV_02


 


二 编译代码(区分静态库/动态库模式 32位和64位)


使用的方式都是CMake两次Configure->一次Generate->Open Project打开vs进行编译。参数的不同带来了结果的不同。


 


64位和32位的选择体现在选择编译器的时候是否选择Win64。我认为一般意义上说,32位的程序可以以兼容模式运行在64位机器上,反过来不可以。那么也就是说32位以效能换取兼容性。使用时根据 实际情况选择。新手选择32位。



VisualStudio下如何编译和使用最新版本的OpenCV(修正版)_OpenCV_03


在32位系统下运行64位程序报这个错


 



VisualStudio下如何编译和使用最新版本的OpenCV(修正版)_OpenCV_04


静态库和动态库的选择体现在是否选择BUILD_SHARED_LIBS(默认是选中的)。如果选择静态库,那么最后生成的程序和支持库是打包到一起的,交付起来比较方便;如果是动态库则是分开的。效能问题没有研究过。新上手的选择默认动态库。同时建议将BUILD_opencv_world选中,这样最后的结果是一个文件。


 


 


 



VisualStudio下如何编译和使用最新版本的OpenCV(修正版)_静态库_05

VisualStudio下如何编译和使用最新版本的OpenCV(修正版)_静态库_06


 


 


而后打开vs环境,选中install,生成。 也可以批量生成(release和debug都要)。



VisualStudio下如何编译和使用最新版本的OpenCV(修正版)_动态库_07


 



VisualStudio下如何编译和使用最新版本的OpenCV(修正版)_动态库_08


 


出现这个错误是正常的,因为allbuild本身就不可启动。


 


三 在自己项目中使用(只介绍DEBUG模式,RELEASE模式是类似的)


 


选择动态库模式:


在VC++目录中设定"包含目录 " 为include地址; " 引用目录"为提供的lib地址。注意这里的lib地址只是提供了接口信息。



VisualStudio下如何编译和使用最新版本的OpenCV(修正版)_静态库_09


链接器->输入 填入lib名称



VisualStudio下如何编译和使用最新版本的OpenCV(修正版)_OpenCV_10


将dll文件拷贝到PATH目录能够指向的地方,比如" C:\Windows\SysWOW64"



VisualStudio下如何编译和使用最新版本的OpenCV(修正版)_动态库_11


注意在交付的时候需要将支持的dll文件一并提供。


 


如果是静态库:


 


设置Include



VisualStudio下如何编译和使用最新版本的OpenCV(修正版)_动态库_12


设置引入"常规 附加库目录"

VisualStudio下如何编译和使用最新版本的OpenCV(修正版)_动态库_13


设置lib(注意填全)



VisualStudio下如何编译和使用最新版本的OpenCV(修正版)_OpenCV_14


注意,需要将"代码生成"的"运行库"改为"多线程调试"。这样就将MFC自己的支持库包含在最后生成的exe中了。


 



VisualStudio下如何编译和使用最新版本的OpenCV(修正版)_静态库_15


如果想要在程序设计的过程中,能够直接修改OpenCV自己的代码,添加相关功能,首先将Opencv项目引入



VisualStudio下如何编译和使用最新版本的OpenCV(修正版)_动态库_16


 


而后添加引用 设置项目依赖



VisualStudio下如何编译和使用最新版本的OpenCV(修正版)_动态库_17


 




end



举报

相关推荐

0 条评论