初次使用opencv
,配置了一天。遇到了各种各样的问题,各种google
百度,终于解决了。
使用版本是2.43
,软件是vs2010
。
1
、下载软件
下载
OpenCV2.4.3
:
http://opencv.org/downloads.html
,解压到
D:\ProgramFiles (x86)\
2
、配置
OpenCV
环境变量
计算机->(右键)属性->高级系统设置->高级(标签)->环境变量->(双击)path(用户,系统里面的path任选其一)->在变量值里面添加” %opencv%\build\x86\vc10\bin”(里面的%opencv%记得换成自己的opencv路径。例如我的:D:\Program Files (x86)\opencv\build\x86\vc10\bin;
file:///C:/Users/hello/AppData/Local/Temp/msohtml1/01/clip_image002.jpg
3
、配置工程的
opencv
依赖(每次新建工程都要重新配置,要执行此步骤请先跳到第
4
步建立工程)
1)、项目(菜单项)->…属性->VC++目录:需要配置“包含目录”和“库目录”两项。
file:///C:/Users/hello/AppData/Local/Temp/msohtml1/01/clip_image004.jpg
2)、配置“包含目录”项:添加行”%opencv%\build\include”即可。
但在运行别人的opencv项目时,可能别人直接引用了上述目录的子目录路径,如果出现include错误,则再添加”%opencv%\build\include\opencv”和(或)”%opencv%\build\include\opencv2”,即可解决问题。
file:///C:/Users/hello/AppData/Local/Temp/msohtml1/01/clip_image006.jpg
3)、配置“库目录”项:添加行”%opencv%\build\x86\vc10\lib”即可。
如果是vs2012就是 %opencv%\build\x86\vc11\lib
file:///C:/Users/hello/AppData/Local/Temp/msohtml1/01/clip_image008.jpg
4)、配置连接器:项目(菜单项)->…属性->连接器->输入->附加依赖项
针对debug配置添加以下库:
opencv_calib3d243d.lib
opencv_contrib243d.lib
opencv_core243d.lib
opencv_features2d243d.lib
opencv_flann243d.lib
opencv_gpu243d.lib
opencv_highgui243d.lib
opencv_imgproc243d.lib
opencv_legacy243d.lib
opencv_ml243d.lib
opencv_objdetect243d.lib
opencv_ts243d.lib
opencv_video243d.lib
如果是release配置(以后再说,只需要添加上面的debug配置就行了现在),则添加:
opencv_calib3d243.lib
opencv_contrib243.lib
opencv_core243.lib
opencv_features2d243.lib
opencv_flann243.lib
opencv_gpu243.lib
opencv_highgui243.lib
opencv_imgproc243.lib
opencv_legacy243.lib
opencv_ml243.lib
opencv_objdetect243.lib
opencv_ts243.lib
opencv_video243.lib
如果下载的是其他的版本就要写成opencv_videoXXX.lib
file:///C:/Users/hello/AppData/Local/Temp/msohtml1/01/clip_image010.jpg
4
、用
VS2010
新建控制台工程测试:
1)、文件->新建->项目->Visual C++->Win32 控制台应用程序(输入名称test)
file:///C:/Users/hello/AppData/Local/Temp/msohtml1/01/clip_image012.jpg
2)、确定->下一步->附加选项选“空项目”->完成
file:///C:/Users/hello/AppData/Local/Temp/msohtml1/01/clip_image014.jpg
3)、解决方案资源管理器->源文件(右键)->添加->新建项
file:///C:/Users/hello/AppData/Local/Temp/msohtml1/01/clip_image016.jpg
4)、Visual C++->C++文件:输入名称test点添加
file:///C:/Users/hello/AppData/Local/Temp/msohtml1/01/clip_image018.jpg
5)、粘贴下面的代码,保存
[url=] file:///C:/Users/hello/AppData/Local/Temp/msohtml1/01/clip_image020.gif[/url]
1 #include
2 #include
3 #include
4 using namespace cv;
5 using namespace std;
6 int main()
7 {
8 Mat img = imread("pp.jpg");
9 if(img.empty())
10 {
11 cout<<"error";
12 return -1;
13 }
14 imshow("xx的靓照",img);
15 waitKey();
16
17 return 0;
18 }
[url=] file:///C:/Users/hello/AppData/Local/Temp/msohtml1/01/clip_image020.gif[/url]
6)、把自己的靓照改名为pp.jpg,然后放到工程项目的test文件夹里面(是里面那个test文件夹)
file:///C:/Users/hello/AppData/Local/Temp/msohtml1/01/clip_image022.jpg
7)、按照第3步骤的方法配置工程的opencv依赖。
8)、按F5,如果你的图片出来了就OK了。
我为了看到原始的代码所以就编译了原始的代码。
安装CMake
从CMake的官方网站下载最新版的CMake。 http://www.cmake.org/cmake/resources/software.html,选择Windows (Win32 Installer)平台的进行下载。
安装时请勾选上“AddCMake to the system PATH for all users”。
下载安装opencv
从opencv的官方网站( http://www.opencv.org/)下载2.4.3版本的opencv for windows。下载安装后,安装到某一个目录下面,如我的在D:\opencv
使用CMake导致VC++项目文件
1、在开始菜单中找到CMake(cmake-gui),点击运行cmake的GUI工具。
2、在whereis the source code选择opencv的安装目录,如上面的d:/opencv
3、在whereto build the binaries里面选择要将opencv编译到的目录下面,如我们的为:D:/opencv_own
4、点击configure,在弹出的对话框内选择 Visual Studio 10 Win64(32位的系统,显示的可能是Win32)。
5、这时Cmake会开始生成,等它完成后,再次点击Configure(上面的红色消失),再次点击Generate。
使用VisualStudio编译opencv
1、使用上面的编译目录(D:/opencv_own)中找到OpenCV.sln。点击使用Visual studio 2012打开。
2、编译debug版本库。在“解决方案(OpenCV)”上面点击右键-->重新生成解决方案。等VS生成完成。如果没有错误,点击 如下图的配置管理器,在弹出的页面中,将install后面的生成项勾选上。
file:///C:/Users/hello/AppData/Local/Temp/msohtml1/01/clip_image024.jpg
3、编译Release版本库,在Visual Studio上面将debug切换为Release(如上图),在“解决方案(OpenCV)”上面点击右键-->重新生成解决方案。点击 如上图的配置管理器,在弹出的页面中,将install后面的生成项勾选上。
现在opencv库已经生成了。
2
、配置
OpenCV
环境变量
计算机->(右键)属性->高级系统设置->高级(标签)->环境变量->(双击)path(用户,系统里面的path任选其一)->在变量值里面添加” %opencv%\build\x86\vc10\bin” %opencv%\build\x86\vc10\bin file:///C:/Users/hello/AppData/Local/Temp/msohtml1/01/clip_image002.jpg
3
、配置工程的
opencv
依赖(每次新建工程都要重新配置,要执行此步骤请先跳到第
4
步建立工程)
1)、项目(菜单项)->…属性->VC++目录:需要配置“包含目录”和“库目录”两项。
file:///C:/Users/hello/AppData/Local/Temp/msohtml1/01/clip_image004.jpg
2)、配置“包含目录”项:添加行”%opencv%\build\include”即可。
但在运行别人的opencv项目时,可能别人直接引用了上述目录的子目录路径,如果出现include错误,则再添加” D:\Program Files(x86)\opencv_own\install\include” “D:\Program Files (x86)\opencv_own\install\include\opencv” “D:\Program Files(x86)\opencv_own\install\include\opencv2”,即可解决问题。
file:///C:/Users/hello/AppData/Local/Temp/msohtml1/01/clip_image006.jpg
3)、配置“库目录”项:添加行” D:\Program Files (x86)\opencv_own\lib\Debug”即可。
file:///C:/Users/hello/AppData/Local/Temp/msohtml1/01/clip_image008.jpg
如果是relase则写成D:\Program Files(x86)\opencv_own\lib\Release
4)、配置连接器:项目(菜单项)->…属性->连接器->输入->附加依赖项
针对debug配置添加以下库:
opencv_calib3d243d.lib
opencv_contrib243d.lib
opencv_core243d.lib
opencv_features2d243d.lib
opencv_flann243d.lib
opencv_gpu243d.lib
opencv_highgui243d.lib
opencv_imgproc243d.lib
opencv_legacy243d.lib
opencv_ml243d.lib
opencv_objdetect243d.lib
opencv_ts243d.lib
opencv_video243d.lib
如果是release配置(以后再说,只需要添加上面的debug配置就行了现在),则添加:
opencv_calib3d243.lib
opencv_contrib243.lib
opencv_core243.lib
opencv_features2d243.lib
opencv_flann243.lib
opencv_gpu243.lib
opencv_highgui243.lib
opencv_imgproc243.lib
opencv_legacy243.lib
opencv_ml243.lib
opencv_objdetect243.lib
opencv_ts243.lib
opencv_video243.lib
file:///C:/Users/hello/AppData/Local/Temp/msohtml1/01/clip_image010.jpg
4
、用
VS2010
新建控制台工程测试:
1)、文件->新建->项目->Visual C++->Win32 控制台应用程序(输入名称test)
file:///C:/Users/hello/AppData/Local/Temp/msohtml1/01/clip_image012.jpg
2)、确定->下一步->附加选项选“空项目”->完成
file:///C:/Users/hello/AppData/Local/Temp/msohtml1/01/clip_image014.jpg
3)、解决方案资源管理器->源文件(右键)->添加->新建项
file:///C:/Users/hello/AppData/Local/Temp/msohtml1/01/clip_image016.jpg
4)、Visual C++->C++文件:输入名称test点添加
file:///C:/Users/hello/AppData/Local/Temp/msohtml1/01/clip_image018.jpg
5)、粘贴下面的代码,保存
[url=] file:///C:/Users/hello/AppData/Local/Temp/msohtml1/01/clip_image020.gif[/url]
1 #include
2 #include
3 #include
4 using namespace cv;
5 using namespace std;
6 int main()
7 {
8 Mat img = imread("pp.jpg");
9 if(img.empty())
10 {
11 cout<<"error";
12 return -1;
13 }
14 imshow("xx的靓照",img);
15 waitKey();
16
17 return 0;
18 }
[url=] file:///C:/Users/hello/AppData/Local/Temp/msohtml1/01/clip_image020.gif[/url]
6)、把自己的靓照改名为pp.jpg,然后放到工程项目的test文件夹里面(是里面那个test文件夹)
file:///C:/Users/hello/AppData/Local/Temp/msohtml1/01/clip_image022.jpg
7)、按照第3步骤的方法配置工程的opencv依赖。
8)、 file:///C:/Users/hello/AppData/Local/Temp/msohtml1/01/clip_image026.jpg
file:///C:/Users/hello/AppData/Local/Temp/msohtml1/01/clip_image028.jpgfile:///C:/Users/hello/AppData/Local/Temp/msohtml1/01/clip_image030.jpgfile:///C:/Users/hello/AppData/Local/Temp/msohtml1/01/clip_image032.jpg
9)按下f5 文件就出来图片了
可能有点乱,过两天再发上来。
中间解决了
无法打开文件“opencv_calib3d243d.lib”
能编译,但是运行提示0x0000000fb错误
再调试按f11 就能单步调试查看代码了。
不能显示的图片看附件排版
http://pan.baidu.com/s/1w0zZU
本来在网上排了半天,没弄好。好无奈,弄了一天,有空回头再排版。