VS2010中关于OpenCV 2.3.1开发环境配置及第一个OpenCV程序
2013-02-02 18:27
591 查看
1.在OpenCV中文网站(http://www.opencv.org.cn/index.php)上面下载OpenCV-2.3.1-win的安装包。可以下载源码编译版,也可以下载安装包,还有OpenCV的参考手册。我这里下载了安装包(即
OpenCV-2.3.1-win-superpack.exe 文件)。
2.下载完点击安装,设置安装路径(这里的安装,更确切的说应该是解压),解压到C盘Program文件夹下面(个人习惯)。
3.简单说明一下OpenCV目录下各个文件是作用:
3rdparty 包含第三方库的实现代码,如zlib,ffmpeg,libjpeg等
android android开发相关文件
build 用于编译程序的lib文件和运行exe的dll文件
data 数据文件,如机器学习输出的xml文件
doc 帮助文档 include 头文件
modules opencv中各模块的源文件
samples 示例代码
4.告诉程序如何加载dll文件
以下三种方法任意一种都是可以的,根据情况任选其一:
1)配置环境变量:
右击“我的电脑”-“属性”-“高级系统设置”-“环境变量”,在系统环境变量中点击“新建”,输入“OpenCV_Path”和“C:\Program Files\opencv\build\x86\vc10\bin”,然后再PATH中增加“;%OpenCV_Path%”;
配置完后记得要重启电脑或者注销登录,配置才生效!
b) 拷贝到系统目录:
将对应dll拷贝到c:\windows\system32目录下;
c)拷贝到程序运行目录:
将dll拷贝到debug或release等exe输出目录下。
5.配置VS2010中的参数:
新建一个Win32控制台空项目。
以前配置VC++6.0、VS2005、VS2008都是在“工具”->“选项”->“项目与解决方案”->“VC++ 目录”中一次性配置好就可以了。但是到了VS2010后,当你按照前面的这个步骤操作时,会发现有提示“VC++目录编辑功能已被否决”。上网搜了许久,发现以下方法较好,一次性配置即可。
选择“视图”-“属性管理器”,双击Debug | Win32下的“Microsoft.Cpp.Win32.user”,如下图所示。
经过测试,VC2010是可以在SolutionExporer上面的右键项目选择属性修改一下配置的。
在弹出的配置框中配置,选择“VC++目录”(VC++Directories)。
1)、在“包含目录”(IncludeDirectories)中的结尾处(若结尾处无英文状态下的“;”则需自行添加“;”,下同)加入以下内容添加以下内容:
C:\Program Files\OpenCV\opencv\build\include\opencv;C:\Program Files\OpenCV\opencv\build\include\opencv2;C:\Program Files\OpenCV\opencv\build\include;
2)、在库目录和可执行文件目录(LibraryDirectories)中的结尾处加入以下内容添加:
C:\Program Files\OpenCV\opencv\build\x86\vc10\lib;
如下图所示。
3)、在“链接器”-“输入”-“附加依赖选项”("Linker"->"Input"->"AdditionalDependencies")中的结尾处加入.lib运行库文件。
注:lib可根据实际情况进行删减。
针对debug配置添加以下库:(注意,我这里使用的是OpenCV-2.3.1-win的安装包,故opencv版本后缀有“3d231”,如果版本不同,应注意修改)
opencv_calib3d231d.lib
opencv_contrib231d.lib
opencv_core231d.lib
opencv_features2d231d.lib
opencv_flann231d.lib
opencv_gpu231d.lib
opencv_highgui231d.lib
opencv_imgproc231d.lib
opencv_legacy231d.lib
opencv_ml231d.lib
opencv_objdetect231d.lib
opencv_ts231d.lib
opencv_video231d.lib
如果是release配置(以后再说,只需要添加上面的debug配置就行了现在),则添加:
opencv_calib3d231.lib
opencv_contrib231.lib
opencv_core231.lib
opencv_features2d231.lib
opencv_flann231.lib
opencv_gpu231.lib
opencv_highgui231.lib
opencv_imgproc231.lib
opencv_legacy231.lib
opencv_ml231.lib
opencv_objdetect231.lib
opencv_ts231.lib
opencv_video231.lib
6.测试文件:
//把一张名为“pp.jpg”的照片放在工程目录下,编译运行后出现照片。
[cpp]
view plaincopyprint?
#include <opencv2\opencv.hpp>
#include <iostream>
#include <string>
using namespace cv;
using namespace std;
int main()
{
Mat img = imread("pp.jpg");
if(img.empty())
{
cout<<"error";
return -1;
}
imshow("xx的靓照",img);
waitKey();
return 0;
}
//调用摄像头,如果成功运行,将显示出摄像头的视频。若不成功,尝试将以下语句中的“1”,改成-1,0或2 CvCapture* capture = cvCaptureFromCAM(1);
[cpp]
view plaincopyprint?
#include "stdafx.h"
#include <highgui.h>
int _tmain(int argc, _TCHAR* argv[])
{
int c;
// allocate memory for an image
IplImage *img;
// capture from video device #1
CvCapture* capture = cvCaptureFromCAM(1);
// create a window to display the images
cvNamedWindow("mainWin", CV_WINDOW_AUTOSIZE);
// position the window
cvMoveWindow("mainWin", 5, 5);
while(1)
{
// retrieve the captured frame
img=cvQueryFrame(capture);
// show the image in the window
cvShowImage("mainWin", img );
// wait 10 ms for a key to be pressed
c=cvWaitKey(10);
// escape key terminates program
if(c == 27)
break;
}
return 0;
}
7.opencv配置好后运行出现错误:"计算机中丢失opencv_core231d.dll" 等dll文件的解决方案 :
(1)、注销或重启计算机,使得系统环境变量中的path生效;
(2)、通过path中设置的路径去寻找对应的dll文件,查看是否存在,是否被成功引用到VS中;
(3)、通过文件搜索功能,找到运行时提示的那个dll文件所在路径,并查看path的设置是否符合;
(4)、拷贝这个dll文件到VS工程目录下的debug和release目录中;
(5)、对比一下配置中的dll文件名是否和目录中的文件名对应,这里通常会出现因不同版本导致的不同文件名而配置时,却通过复制粘贴网上攻略导致一些错误的产生。例如:opencv 2.3.0版本的dll文件名应该是opencv_core230d.dll,而opencv2.3.1版本的dll文件名是opencv_core231d.dll,以此类推。
OpenCV-2.3.1-win-superpack.exe 文件)。
2.下载完点击安装,设置安装路径(这里的安装,更确切的说应该是解压),解压到C盘Program文件夹下面(个人习惯)。
3.简单说明一下OpenCV目录下各个文件是作用:
3rdparty 包含第三方库的实现代码,如zlib,ffmpeg,libjpeg等
android android开发相关文件
build 用于编译程序的lib文件和运行exe的dll文件
data 数据文件,如机器学习输出的xml文件
doc 帮助文档 include 头文件
modules opencv中各模块的源文件
samples 示例代码
4.告诉程序如何加载dll文件
以下三种方法任意一种都是可以的,根据情况任选其一:
1)配置环境变量:
右击“我的电脑”-“属性”-“高级系统设置”-“环境变量”,在系统环境变量中点击“新建”,输入“OpenCV_Path”和“C:\Program Files\opencv\build\x86\vc10\bin”,然后再PATH中增加“;%OpenCV_Path%”;
配置完后记得要重启电脑或者注销登录,配置才生效!
b) 拷贝到系统目录:
将对应dll拷贝到c:\windows\system32目录下;
c)拷贝到程序运行目录:
将dll拷贝到debug或release等exe输出目录下。
5.配置VS2010中的参数:
新建一个Win32控制台空项目。
以前配置VC++6.0、VS2005、VS2008都是在“工具”->“选项”->“项目与解决方案”->“VC++ 目录”中一次性配置好就可以了。但是到了VS2010后,当你按照前面的这个步骤操作时,会发现有提示“VC++目录编辑功能已被否决”。上网搜了许久,发现以下方法较好,一次性配置即可。
选择“视图”-“属性管理器”,双击Debug | Win32下的“Microsoft.Cpp.Win32.user”,如下图所示。
经过测试,VC2010是可以在SolutionExporer上面的右键项目选择属性修改一下配置的。
在弹出的配置框中配置,选择“VC++目录”(VC++Directories)。
1)、在“包含目录”(IncludeDirectories)中的结尾处(若结尾处无英文状态下的“;”则需自行添加“;”,下同)加入以下内容添加以下内容:
C:\Program Files\OpenCV\opencv\build\include\opencv;C:\Program Files\OpenCV\opencv\build\include\opencv2;C:\Program Files\OpenCV\opencv\build\include;
2)、在库目录和可执行文件目录(LibraryDirectories)中的结尾处加入以下内容添加:
C:\Program Files\OpenCV\opencv\build\x86\vc10\lib;
如下图所示。
3)、在“链接器”-“输入”-“附加依赖选项”("Linker"->"Input"->"AdditionalDependencies")中的结尾处加入.lib运行库文件。
注:lib可根据实际情况进行删减。
针对debug配置添加以下库:(注意,我这里使用的是OpenCV-2.3.1-win的安装包,故opencv版本后缀有“3d231”,如果版本不同,应注意修改)
opencv_calib3d231d.lib
opencv_contrib231d.lib
opencv_core231d.lib
opencv_features2d231d.lib
opencv_flann231d.lib
opencv_gpu231d.lib
opencv_highgui231d.lib
opencv_imgproc231d.lib
opencv_legacy231d.lib
opencv_ml231d.lib
opencv_objdetect231d.lib
opencv_ts231d.lib
opencv_video231d.lib
如果是release配置(以后再说,只需要添加上面的debug配置就行了现在),则添加:
opencv_calib3d231.lib
opencv_contrib231.lib
opencv_core231.lib
opencv_features2d231.lib
opencv_flann231.lib
opencv_gpu231.lib
opencv_highgui231.lib
opencv_imgproc231.lib
opencv_legacy231.lib
opencv_ml231.lib
opencv_objdetect231.lib
opencv_ts231.lib
opencv_video231.lib
6.测试文件:
//把一张名为“pp.jpg”的照片放在工程目录下,编译运行后出现照片。
[cpp]
view plaincopyprint?
#include <opencv2\opencv.hpp>
#include <iostream>
#include <string>
using namespace cv;
using namespace std;
int main()
{
Mat img = imread("pp.jpg");
if(img.empty())
{
cout<<"error";
return -1;
}
imshow("xx的靓照",img);
waitKey();
return 0;
}
#include <opencv2\opencv.hpp> #include <iostream> #include <string> using namespace cv; using namespace std; int main() { Mat img = imread("pp.jpg"); if(img.empty()) { cout<<"error"; return -1; } imshow("xx的靓照",img); waitKey(); return 0; }
//调用摄像头,如果成功运行,将显示出摄像头的视频。若不成功,尝试将以下语句中的“1”,改成-1,0或2 CvCapture* capture = cvCaptureFromCAM(1);
[cpp]
view plaincopyprint?
#include "stdafx.h"
#include <highgui.h>
int _tmain(int argc, _TCHAR* argv[])
{
int c;
// allocate memory for an image
IplImage *img;
// capture from video device #1
CvCapture* capture = cvCaptureFromCAM(1);
// create a window to display the images
cvNamedWindow("mainWin", CV_WINDOW_AUTOSIZE);
// position the window
cvMoveWindow("mainWin", 5, 5);
while(1)
{
// retrieve the captured frame
img=cvQueryFrame(capture);
// show the image in the window
cvShowImage("mainWin", img );
// wait 10 ms for a key to be pressed
c=cvWaitKey(10);
// escape key terminates program
if(c == 27)
break;
}
return 0;
}
#include "stdafx.h" #include <highgui.h> int _tmain(int argc, _TCHAR* argv[]) { int c; // allocate memory for an image IplImage *img; // capture from video device #1 CvCapture* capture = cvCaptureFromCAM(1); // create a window to display the images cvNamedWindow("mainWin", CV_WINDOW_AUTOSIZE); // position the window cvMoveWindow("mainWin", 5, 5); while(1) { // retrieve the captured frame img=cvQueryFrame(capture); // show the image in the window cvShowImage("mainWin", img ); // wait 10 ms for a key to be pressed c=cvWaitKey(10); // escape key terminates program if(c == 27) break; } return 0; }
7.opencv配置好后运行出现错误:"计算机中丢失opencv_core231d.dll" 等dll文件的解决方案 :
(1)、注销或重启计算机,使得系统环境变量中的path生效;
(2)、通过path中设置的路径去寻找对应的dll文件,查看是否存在,是否被成功引用到VS中;
(3)、通过文件搜索功能,找到运行时提示的那个dll文件所在路径,并查看path的设置是否符合;
(4)、拷贝这个dll文件到VS工程目录下的debug和release目录中;
(5)、对比一下配置中的dll文件名是否和目录中的文件名对应,这里通常会出现因不同版本导致的不同文件名而配置时,却通过复制粘贴网上攻略导致一些错误的产生。例如:opencv 2.3.0版本的dll文件名应该是opencv_core230d.dll,而opencv2.3.1版本的dll文件名是opencv_core231d.dll,以此类推。
相关文章推荐
- VS2010中关于OpenCV 2.3.1开发环境配置及第一个OpenCV程序
- 9.4 【OpenCV】 基于 ransac 算法的 sift 特征匹配程序(开发环境为OpenCV2.3.1+VS2010)
- 【OpenCV】 基于 ransac 算法的 sift 特征匹配程序(开发环境为OpenCV2.3.1+VS2010)
- 【OpenCV】 基于 ransac 算法的 sift 特征匹配程序(开发环境为OpenCV2.3.1+VS2010)
- OpenCV】 基于 ransac 算法的 sift 特征匹配程序(开发环境为OpenCV2.3.1+VS2010)
- Android开发环境搭建:SDK在线离线安装+在Eclipse中配置ADT+第一个Android程序运行
- 【OpenCV入门教程之一】 OpenCV 2.4.8 +VS2010的开发环境配置
- Android开发环境配置到第一个程序所遇到的问题
- 【OpenCV学习笔记系列01-OpenCV2.4.6 + VS2010开发环境配置】
- vs2010开发linux平台C程序 开发环境配置
- PHP开发环境配置和第一个PHP程序(phpStudy+PhpStorm)
- OpenCV 2.4.9 +VS2010 开发环境配置(一)
- 【Android】简单详细的安卓开发环境配置及运行第一个程序Helloworld
- 图文解说OpenCV开发一 - 环境配置和入门程序详解
- java基础--JDK安装、环境变量配置、工具开发第一个程序、数据类型、运算符
- 【OpenCV入门教程之一】 OpenCV 2.4.8 +VS2010的开发环境配置
- 目标检测程序开发(一)——OpenCV2.4.11环境配置
- 配置struts开发环境,写第一个struts程序
- OPENNI学习实践-pcl1.6.0+vs2010环境配置以及第一个pcl程序
- ARToolkit在VS2010(Win7 64位)下的配置及第一个开发程序的编译与运行