您的位置:首页 > 运维架构

自己配置了一天的opencv 从自带的库到编译成功的库写

2013-11-17 18:46 435 查看
初次使用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)、粘贴下面的代码,保存

file:///C:/Users/hello/AppData/Local/Temp/msohtml1/01/clip_image020.gif

1 #include<opencv2\opencv.hpp>

2 #include <iostream>

3 #include <string>

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 }

file:///C:/Users/hello/AppData/Local/Temp/msohtml1/01/clip_image020.gif

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\binfile:///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)、粘贴下面的代码,保存

file:///C:/Users/hello/AppData/Local/Temp/msohtml1/01/clip_image020.gif

1 #include<opencv2\opencv.hpp>

2 #include <iostream>

3 #include <string>

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 }

file:///C:/Users/hello/AppData/Local/Temp/msohtml1/01/clip_image020.gif

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

本来在网上排了半天,没弄好。好无奈,弄了一天,有空回头再排版。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  opencv 配置管理