Windows7+VS下OpenCV环境配置.docx
- 文档编号:25433213
- 上传时间:2023-06-08
- 格式:DOCX
- 页数:18
- 大小:600.94KB
Windows7+VS下OpenCV环境配置.docx
《Windows7+VS下OpenCV环境配置.docx》由会员分享,可在线阅读,更多相关《Windows7+VS下OpenCV环境配置.docx(18页珍藏版)》请在冰豆网上搜索。
Windows7+VS下OpenCV环境配置
Windows7+VS2010下OpenCV环境配置
发布于 2013年11月22日 作者:
JohnHany2,682次阅读
OpenCV(OpenSourceComputerVisionLibrary)是BSD协议下的开源代码库。
OpenCV提供了一系列高性能的图像处理函数。
目前(2015.01.27)最新版本是2.4.10。
1.x版本使用C的API,2.x版本同时提供C++的API。
全新的3.0.0版本已经到了Beta阶段,相对2.x会有很大变化。
C++版本的数据结构和函数的性能比C版本的要好很多,如果是在嵌入式平台使用OpenCV,只能用C版本;否则,最好使用C++来写。
我的配置情况:
Windows7旗舰版x64
VisualStudio2010旗舰版
.NETFramework4.5
OpenCV2.4.7
1.下载并解压OpenCV
从官网可以下载最新版,或者在这里直接下载2.4.10版本。
下载到的文件名为“opencv-2.4.10.exe”,是个自解压文件,大小350MB左右。
下载好之后,解压到任意一个文件夹,比如“D:
\windows”。
没有必要手动创建一个专门的文件夹,因为文件在解压时会自动创建一个叫opencv的文件夹,并把所有文件都解压到这个文件夹内。
2.设置环境变量
OpenCV库函数需要通过用户环境变量调用所需要的库文件。
点击:
开始->计算机(右击)->属性->高级系统设置->高级->环境变量,在用户变量里增加一项:
变量名:
path
变量值:
D:
\windows\opencv\build\x86\vc10\bin
如果已经有path项,在其变量值结尾添加英文分号“;”,再加上上面那个值。
这里的“x86”代表目标程序是32位的,如果要写64位的程序则选择“x64”文件夹。
并不是根据开发环境(你的机器)选择的。
后面的“vc10”代表使用VisualC++2010开发。
如果使用VisualStudio2012,则填写“D:
\windows\opencv\build\x86\vc11\bin”。
注销用户,重新登录Windows,保证环境变量更新并起作用。
3.创建并配置工程
打开VisualStudio2010,新建一个工程,选择VisualC++->Win32->Win32ConsoleApplication,命名例如“OpencvTest”,
点击“Next”,
只选择ConsoleApplication和Preconpiledheader。
因为程序中需要调用一些C++的库函数,所以最好勾选Preconpiledheader。
然后点击“Finish”。
在SolutionExplorer中右击工程名,选择Properties。
在弹出的窗口“OpencvTestPropertyPages”中,Configuration选择“Debug”(或者默认的“Active(Debug)”),Platform选择“Win32”。
在左边选择ConfigurationProperties->VC++Directories,在右边的General中编辑IncludeDirectories,增加以下三项:
D:
\windows\opencv\build\include
D:
\windows\opencv\build\include\opencv
D:
\windows\opencv\build\include\opencv2
其实只需要填入第一行即可。
由于“include\opencv”包含C版本的头文件,“include\opencv2”包含C++版本的头文件。
所以编写代码时,在头文件名称前加上“opencv/”或“opencv2/”来区分两种版本。
在LibraryDirectories中增加以下一项:
D:
\windows\opencv\build\x86\vc10\lib
把Configuration改为“Release”,然后对IncludeDirectories和LibraryDirectories做同样的修改。
如果只写练习程序,只用debug功能,那么“Release”可以不用修改。
如果使用VisualStudio2012,则填写“D:
\windows\opencv\build\x86\vc11\lib”。
仍然在“OpencvTestPropertyPages”窗口下,Configuration选择“Debug”。
在左边选择ConfigurationProperites->Linker->Input,在右面编辑AdditionalDependencies,增加以下若干项(可以根据自己的需要适当删减,关于各个模块的功能,请参考这里):
opencv_calib3d2410d.lib
opencv_contrib2410d.lib
opencv_core2410d.lib
opencv_features2d2410d.lib
opencv_flann2410d.lib
opencv_gpu2410d.lib
opencv_highgui2410d.lib
opencv_imgproc2410d.lib
opencv_legacy2410d.lib
opencv_ml2410d.lib
opencv_objdetect2410d.lib
opencv_ts2410d.lib
opencv_video2410d.lib
(同样,如果仅使用debug模式,这一步可以跳过)把Configuration改为“Release”,在AdditionalDependencies增加以下若干项(在文件名上的区别仅在于在末尾少了一个“d”):
opencv_calib3d2410.lib
opencv_contrib2410.lib
opencv_core2410.lib
opencv_features2d2410.lib
opencv_flann2410.lib
opencv_gpu2410.lib
opencv_highgui2410.lib
opencv_imgproc2410.lib
opencv_legacy2410.lib
opencv_ml2410.lib
opencv_objdetect2410.lib
opencv_ts2410.lib
opencv_video2410.lib
虽然OpenCV版本众多,但文件结构都很类似。
如果想使用其他版本,如2.4.7而不是2.4.10,只需要修改上面一系列*.lib文件名中的版本号即可,比如把“opencv_calib3d2410.lib”改为“opencv_calib3d247.lib”。
在Notepadd++等文本编辑器中,有一个快速修改的方法,就是使用Notepadd++等文本编辑器的替换功能,以“247”替换“2410”。
4.例程测试
假设在“H:
\”盘有个名为“bee.jpg”的图片,下面用一段程序实现把这个图片逐渐变成灰度图像的过程。
删掉OpencvTest.cpp内的内容,把下面的代码复制进去:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include
#include
#include
#include
usingnamespacecv;
usingnamespacestd;
intmain(intargc,char**argv)
{
constchar*filename="H:
\\bee.jpg";
MatsrcImg=imread(filename,CV_LOAD_IMAGE_COLOR);
if(srcImg.empty())
return-1;
//imshow("source",srcImg);
doubletimeSpent=(double)getTickCount();
//-----------------------------------
Mattmp1Img(srcImg.size(),CV_8UC1);
Mattmp3Img(srcImg.size(),CV_8UC3);
cvtColor(srcImg,tmp1Img,CV_RGB2GRAY);
cvtColor(tmp1Img,tmp3Img,CV_GRAY2RGB);
MatdstImg(srcImg.size(),CV_8UC3);
doubleblender;
for(inti=0;i<100;i++)
{
blender=(double)i/100.0;
addWeighted(srcImg,1-blender,tmp3Img,blender,0,dstImg);
imshow("result",dstImg);
waitKey(30);
}
//------------------------------------
timeSpent=((double)getTickCount()-timeSpent)/getTickFrequency();
cout<<"Timespentinmilliseconds:
"< waitKey(0); return0; } 这段程序先读入bee.jpg图片,再创建一个同样大小的灰度版本的图片,然后在一个循环中把两张图片按逐渐变化的比例融合,产生从彩色到灰度变化的动态效果。 点击按钮“StartDebugging”或按F5键,程序就会运行了。 运行效果如下: 然后按键盘上任意一键,程序就会结束。 5.常见错误处理 1.如果提示缺少tbb_debug.dll,需要下载一个tbb41_20130314oss_win.rar文件。 将其解压后的bin文件夹里的所有文件复制到: D: \windows\opencv\build\common\tbb 然后在用户环境变量path里添加: D: \windows\opencv\build\common\tbb\ia32\vc10 2.如果提示“LINK: fatalerrorLNK1123: failureduringconversiontoCOFF: fileinvalidorcorrupt”,在ProjectProperity中找到ConfigurationProperties->Linker->General,把右面EnableIncrementalLinking改为“No(/INCREMENTAL: NO)”。 这一项在Debug模式下默认为Yes,在Release模式下默认为True。 2015.01.27更新: 更新到OpenCV2.4.10版本。 #opencv2410 并加入VisualStudio2012配置方法。 #vc11_bin #vc11_lib 类别: OpenCV标签: opencv, vs, 配置
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Windows7 VS OpenCV 环境 配置