VS2010 配置OpenCV开发环境

废话不多说,步骤如下:

下载版本opencv2.3.1版本

vs2010对应vc10代号.

<1> : 新建一个控制台程序,比如opencv01的工程:

然后鼠标点击该工程右击快捷菜单选择properties:


左侧列表中选择VC++ directories,然后右侧配置include directories和library directories环境路径:

下面配置include directories :

E:\liuzhibao\opencv\opencv\build\include\opencv
E:\liuzhibao\opencv\opencv\build\include\opencv2
E:\liuzhibao\opencv\opencv\build\include

我是把opencv**.exe解压在E:\liuzhibao\opencv\目录中,根据自己解压的路径进行调整

下面配置library directories :

E:\liuzhibao\opencv\opencv\build\x86\vc10\lib



配置上面了以后,然后再选择properties左侧栏中的linker->input项:



上面右侧第一项additional dependence(附加依赖):这个地方需要注意,因为vs是提供debug/release,所以debug和release都需要设置:

debug :

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 :

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


上面基本配置OK了,既可以开始使用了.


但是一般可能会遇到两种问题:

<1> :

Cannot find or open the PDB file
1. Ctrl + F5运行就可以了(最好的解决方案)
2. 在cmd命令行下执行程序。
3. 把"Microsoft Symbol Servers"勾上(Tools -> Options -> Debugging -> Symbols).
4. http://blog.163.com/chenpeijie0_0/blog/static/1830945712011780275118
原因:程序输出的地方是系统而不是vs2012

5.Debug->Options and Settings->The left to check: Enable Source server support->Symbols->the left to check: Microsoft Symbol Servers->Runing(F5)->OK



注:解决方案还有就是在每个main函数结束的时候即return 0之前加上 system("pause");


上面的意思很明白,看你运行的方式,可以通过使用ctrl+f5快捷键运行,如果用惯了vs软件上面的开始绿色箭头按钮运行,就按照3或者5步进行修改既可以了.


<2> : tbb_debug.dll库文件问题:

编译程序,可能会出现提示错误:“无法启动此程序,因为计算机中丢失tbb_debug.dll.尝试重新安装该程序以解决问题。”
解决方法:到D\opencv2.3.1\build\common\tbb\ia32\vc10找到tbb.dll,复制一份,然后重命名为tbb_debug.dl,将tbb_debug.dll拷贝到D:\opencv2.3.1\build\x86\vc10\bin目录下


基本上就是上面所说的,下面给一个验证程序:

// OpencvCandy.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;

IplImage *g_pSrcImage, *g_pCannyImg;
const char *pstrWindowsCannyTitle = "边缘检测图";
void on_trackbar(int threshold)
{
	//canny边缘检测
	cvCanny(g_pSrcImage, g_pCannyImg, threshold, threshold * 3, 3);
	cvShowImage(pstrWindowsCannyTitle, g_pCannyImg);
}

int _tmain(int argc, _TCHAR* argv[])
{
	const char *pstrImageName = "lin.jpg";
	const char *pstrWindowsSrcTitle = "原图";
	const char *pstrWindowsToolBar = "Threshold";

	//从文件中载入图像的灰度图CV_LOAD_IMAGE_GRAYSCALE - 灰度图
	g_pSrcImage = cvLoadImage(pstrImageName, CV_LOAD_IMAGE_GRAYSCALE);
	g_pCannyImg = cvCreateImage(cvGetSize(g_pSrcImage), IPL_DEPTH_8U, 1);

	//创建窗口
	cvNamedWindow(pstrWindowsSrcTitle, CV_WINDOW_AUTOSIZE);
	cvNamedWindow(pstrWindowsCannyTitle, CV_WINDOW_AUTOSIZE);

//创建滑动条
	int nThresholdEdge = 1;
	cvCreateTrackbar(pstrWindowsToolBar, pstrWindowsCannyTitle, &nThresholdEdge, 100, on_trackbar);

	//在指定窗口中显示图像
	cvShowImage(pstrWindowsSrcTitle, g_pSrcImage);
	on_trackbar(37);

	//等待按键事件
	cvWaitKey();

	cvDestroyWindow(pstrWindowsSrcTitle);
	cvDestroyWindow(pstrWindowsCannyTitle);
	cvReleaseImage(&g_pSrcImage);
	cvReleaseImage(&g_pCannyImg);
	return 0;
}


一个candy边缘检测的程序.记住在工程目录下放一张lin.jpg的图片.如果是彩色图,程序将会先灰化,在进行边缘检测.

运行效果如下:


左边为灰化的图片,右边为边缘检测的效果图,可以调节上面的进度条设置御阀值,获得不通的显示效果.
























  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值