00 OpenCV 学习笔记(1)安装设置、显示图像

Post date: 2012/4/10 上午 08:31:58

20091027-Update:

VS2008下安装OpenCV2.0请参考于仕琪老师《VC 2008 Express下安装OpenCV2.0》作适当修改。

1、OpenCV 的下载地址:http://sourceforge.net/projects/opencvlibrary/

2、有用的网址:

(1) Visit OpenCV Wiki-pages at http://opencv.willowgarage.com/wiki/ and look for the information there (and/or add it when you have found a solution)

(2) Search through OpenCV archives at www.yahoogroups.com (http://groups.yahoo.com/group/OpenCV/)

(3) Join OpenCV mailing list at yahoo groups (see FAQs on how to do it) and mail your questions (the mailing list will probably migrate to OpenCV's SourceForge site http://www.sourceforge.net/projects/opencvlibrary)

(4) Look at the OpenCV sample code, read the reference manual (http://opencv.willowgarage.com/documentation/index.html )

(5) OpenCV 中文网站: http://www.opencv.org.cn

一、程序的安装设置

1、OpenCV 安装完毕后,检查 C:/Program Files/OpenCV1.2/bin 是否已经被加入到环境变量PATH,如果没有,请加入。(我的电脑--属性--高级--环境变量—***的用户变量--选中‘Path’变量,点击‘编辑’,在‘变量值’栏的最后加入‘C:/Program Files/OpenCV1.2/bin’)。

1

加入后需要注销当前Windows用户(或重启)后重新登陆才生效(也可以通过任务管理器终止 explorer.exe 进程,然后再重新运行 explorer.exe )。

2、下载安装 Microsoft Visual C++ 2008 Redistributable

OpenCV1.2 在 VS2005 环境下编译时,可能出现如下错误(即‘应用程序正常初始化(0xc0150002失败)’):

7

应从微软官方网站中下载安装 Microsoft Visual C++ 2008 Redistributable ,一般可解决此问题,下载地址为:

http://www.microsoft.com/downloads/thankyou.aspx?familyId=a5c84275-3b97-4ab7-a40d-3802b2af5fc2&displayLang=zh-cn

有关OpenCV安装后编译的问题,在OpenCV中文网论坛中有详细介绍:

http://www.opencv.org.cn/forum/viewtopic.php?f=1&t=4299

3、配置 Visual Studio 2005

(1)全局选项

——打开 Microsoft Visual Studio 2005,选择菜单:Tools -> Options

——在弹出窗口中选择Projects and Solutions -> VC++ Directories

——首先,从“Show Directories for”的下拉菜单中选择“Library files”

——在库文件列表中,定位并添加:C:/Program Files/OpenCV1.2/lib

2

——然后,从“Show Directories for”的下拉菜单中选择“Include files”

——在包含文件列表中,定位并添加:C:/Program Files/OpenCV1.2/include/opencv

3

——再从“Show Directories for”的下拉菜单中选择“Source files”

——在包含文件列表中,定位并添加:

C:/Program Files/OpenCV1.2/src/cv

C:/Program Files/OpenCV1.2/src/cvaux

C:/Program Files/OpenCV1.2/src/cxcore

C:/Program Files/OpenCV1.2/src/highgui

C:/Program Files/OpenCV1.2/src/ml

4

按OK键保存

(2)建立OpenCV Project

——建立一个Win32 Console项目

5

——设置项目所需要的lib

菜单Project -> Properties -> Configuration Properties -> Linker -> Input

在additional dependencies中加入 cxcore120.lib cv120.lib ml120.lib cvaux120.lib highgui120.lib cxts120.lib 等需要的库

6

二、一个简单的入门程序——显示图像

代码如下:

8

注意,在Debug完成后,应该把原始图像放到项目文件夹的 debug 文件夹中,使图像与exe程序在同一文件夹内,才能在运行程序时正确读入并显示图像。

9

P.S.: 在退出VS2005时可能会提示有关 Source Control 方面的错误,可按以下方式解决:

Tools –> Options –> Source Control –> Plug-in Selection,在 Current source control plug-in 中选择 none。

另外,csdn blog 编写文章时,按 enter 开始新段落的话,段落间的间距较大、不太美观,可以用 shift + enter 的方式来代替,这样段落之间的间距就与段落内部的行距一样了。

上一篇:Matlab Figure 图形保存以及 Simulink 中 Scope 窗口坐标标注(label)的设置

下一篇:OpenCV学习笔记(2)隐藏 Console 窗口

查看评论

19楼 zjsxzjb 2012-03-23 00:20发表 [回复]

你好,楼主。感谢你的文章。

我的环境是win7(32)+vs2005+opencv2.3.1在安装过程中,傅家乡可以,但运行的时候出现“计算机丢失了opencv_core23d.lib”,请问这是怎么回事?可否指教。

谢谢!

18楼 cherylHZ 2012-03-19 13:25发表 [回复]

命令行 :

正在创建临时文件“c:\Users\cheryl-pc\Documents\Visual Studio 2005\Projects\mycheryl2\mycheryl2\Debug\RSP00000758565656.rsp”,其内容为

[

/Od /D "WIN32" /D "_WINDOWS" /D "_DEBUG" /D "_AFXDLL" /D "_MBCS" /Gm /EHsc /RTC1 /MDd /Yu"stdafx.h" /Fp"Debug\mycheryl2.pch" /Fo"Debug\\" /Fd"Debug\vc80.pdb" /W3 /c /Wp64 /ZI /TP ".\mycheryl2.cpp"

]

正在创建命令行“cl.exe @"c:\Users\cheryl-pc\Documents\Visual Studio 2005\Projects\mycheryl2\mycheryl2\Debug\RSP00000758565656.rsp" /nologo /errorReport:prompt”

输出窗口 :

mycheryl2.cpp

c:\users\cheryl-pc\documents\visual studio 2005\projects\mycheryl2\mycheryl2\mycheryl2.cpp(11) : fatal error C1083: 无法打开包括文件:“cv.h”: No such file or directory

最后弹出窗口,说是debug文件里的exe文件打开不了

求如何解决?

17楼 ms_yogurt 2012-02-14 10:57发表 [回复]

我完全照lz抄的程序 怎么出现这么一堆错误 囧 可能很简单 新手求指点~

1>showPic.obj : error LNK2019: 无法解析的外部符号 _cvReleaseImage,该符号在函数 _main 中被引用

1>showPic.obj : error LNK2019: 无法解析的外部符号 _cvDestroyWindow,该符号在函数 _main 中被引用

1>showPic.obj : error LNK2019: 无法解析的外部符号 _cvWaitKey,该符号在函数 _main 中被引用

1>showPic.obj : error LNK2019: 无法解析的外部符号 _cvShowImage,该符号在函数 _main 中被引用

1>showPic.obj : error LNK2019: 无法解析的外部符号 _cvNamedWindow,该符号在函数 _main 中被引用

1>showPic.obj : error LNK2019: 无法解析的外部符号 _cvLoadImage,该符号在函数 _main 中被引用

1>D:\My Documents\Visual Studio 2008\Projects\showPic\Debug\showPic.exe : fatal error LNK1120: 6 个无法解析的外部命令

1>生成日志保存在“file://d:\My Documents\Visual Studio 2008\Projects\showPic\showPic\Debug\BuildLog.htm”

1>showPic - 7 个错误,0 个警告

========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

Re: fowushuai 2012-03-15 11:03发表 [回复]

回复ms_yogurt:库文件设置的不对。

16楼 e06084 2011-11-23 00:54发表 [回复]

请问stdafx.h 和stdafx.cpp是哪里的文件呢?

15楼 goryuupc 2011-06-30 22:29发表 [回复]

最近学习opencv做个项目,lz的分享谢谢了

14楼 huxiongge 2011-03-15 14:44发表 [回复]

楼主好人,支持

13楼 hustspy1990 2011-01-20 11:29发表 [回复]

error C3861: “cvDestoryWindow”: 找不到标识符

求教,这是什么原因呢?谢谢

12楼 Iris730 2010-12-16 16:42发表 [回复]

楼主啊,昨天安了OPENCV今天找到你的文章真的好开心啊,我装的是VS2008和opencv2.1,试了一下你这个程序,发现把图片放在DEBUG里面,原来只彩色的图像显示为灰色,但是把图片放在DEBUG外面就显示成功了也

11楼 zijiegao 2010-11-16 10:57发表 [回复]

楼主你做图像检索的项目不?写点这个方面的文章!

10楼 zhangheng0605 2010-11-02 12:03发表 [回复]

老师好,我们专业用VC6的效率更高,但是又会用到一些OpenCV的开发,但是貌似现在对VC6只支持1.0版的·····

Re: chenyusiyuan 2010-11-02 23:16发表 [回复]

应该能支持到1.2版

9楼 dragonworrior 2010-09-23 20:24发表 [回复]

楼主 我是opencv初学者,感谢你的好文章!!我会一直关注哒~~

8楼 shanleo1986 2009-11-30 11:36发表 [回复]

继续关注和支持楼主,谢谢你提供的好文章!继续关注!!!

7楼 guolonghui 2009-11-07 22:12发表 [回复]

你好,我按你的流程做到第5个图是,发现无法创建工程,请问是什么原因造成,谢谢!!!!

6楼 SQLserver2009 2009-11-05 16:55发表 [回复]

错误 1 error C2664: 'cvShowImage' : cannot convert parameter 2 from 'int' to 'const CvArr *' d:/my documents/visual studio 2008/projects/opencv1/opencv1/opencv1.cpp 14 opencv1

这是嘛意思啊??刚开始学这个opencv,哎,开始好麻烦啊!!这里不错常来转转>._.<

Re: chenyusiyuan 2009-11-07 12:45发表 [回复]

可能是你的cvShowImage输入参数不对,麻烦把你调用cvShowImage的那段代码贴出来看看。

5楼 nan333 2009-11-03 10:15发表 [回复]

继续关注和支持楼主,谢谢你提供的好文章!

4楼 sn228249 2009-11-02 10:59发表 [回复]

谢谢楼主的文章,对于刚开始学习opencv我帮助很大。我会一直学习关注下去你的文章。

3楼 ningjing119 2009-10-27 12:49发表 [回复]

3楼的情况我也遇到了,思考中

2楼 chris_jk 2009-10-12 23:50发表 [回复] [引用] [举报]

楼主好,我刚刚开始学习使用opencv,我按照你的流程做了一遍,发现在vs2008里直接用Ctrl f5运行,显示不出图像,但用项目所在的.exe运行就可以,可以问问为什么会这样

Re: chenyusiyuan 2009-10-27 16:20发表 [回复]

可能是因为图像的存放位置的问题,如果图像存放在Debug文件夹内,可能编译时就检测不到图像,而打开Debug文件夹内的exe文件时,就能检测到了。可以在程序代码中写入图像文件的完整路径试试。

Re: andkobe 2010-03-11 18:50发表 [回复] [引用] [举报]

回复 chris_jk:问题在于文件的路径问题,应该是 IplImage * pImage =cvLoadImage("//ying1.jpg");

在文件名前加上“//”就行了。

1楼 xiaoniug21 2009-09-24 17:32发表 [回复]

希望楼主能持续更新

分享到: