1. 主页 > vs安装问题 > VS2013安装问题 >

新手一步一步OpenCV+Win7+Visual Studio 2013环境配置

地点:湖南大学软件大楼211

时间:2013.12.19

  昨天导师布置了个任务,要求是找出用相机拍出同一移动场景下的两张照片,计算机能根据其中的差异计算场景移动的距离和旋转角度。据说以前很牛逼的师兄完成过,好吧,江山代有才人出,长江后浪推前浪,伦我出场了。本系列也将记录该项目整个流程,一方面总结自己,二方面以供大家学习,一起进步。

———————————————————————————————————————————————————

一、OpenCV环境配置准备工作

 1.下载软件:(http://sourceforge.net/projects/opencvlibrary/files/?source=navbar):根据需要下载合适的版本,当然我这里要说明的是我用的配置是:Win7+Visual Studio 2013+opencv-2.4.7.2

2.解压文件:点击下载好的.exe文件即进行文件解压,OpenCV是一个安装解压文件


(我解压在D盘目录下,解压后在D盘生成opencv文件夹)

3.配置环境变量

1)打开管理员模式的命令提示符cmd,运行: setx -m OPENCV_DIR D:\opencv\build\x86\vc11  (这样做的目的是方便OPENCV_DIR 成为一个系统的变量)


2)->我的电脑->右键属性-高级系统设置->环境变量,找到path变量名,添加   ;%OPENCV_DIR%\bin    (为了与以前变量值分开,带分号是应该的)


———————————————————————————————————————————————————


二.配置VS环境

这里每次新建工程都需要手动配置,其实说白了是配置工程依赖项。

1)在工程属性页面下面配置“包含目录”和“库目录”两项vs至2010版开始后,属性页面可在项目属性管理器窗口->右键单机项目->属性 打开(这里注意后面不要添分号,反正我添了不行


$(OPENCV_DIR)\..\..\include                         ——包含目录

$(OPENCV_DIR)\lib                                       ——库目录




2)在连接器->附加依赖项中添加相关动态链接库,这一步很重要,否则会报错说无法解析外部指令,另外添加和版本相关,具体到bin文件夹下去查看,我的版本是opencv-2.4.7.2(注:我配置的是Release版,debug时报缺失MSVCP110D.dll 文件的错


3)连接器中添加附加依赖项


a.debug模式添加

opencv_core247d.lib
opencv_imgproc247d.lib
opencv_highgui247d.lib
opencv_ml247d.lib
opencv_video247d.lib
opencv_features2d247d.lib
opencv_calib3d247d.lib
opencv_objdetect247d.lib
opencv_contrib247d.lib
opencv_legacy247d.lib
opencv_flann247d.lib

b.release模式添加

opencv_core247.lib
opencv_imgproc247.lib
opencv_highgui247.lib
opencv_ml247.lib
opencv_video247.lib
opencv_features2d247.lib
opencv_calib3d247.lib
opencv_objdetect247.lib
opencv_contrib247.lib
opencv_legacy247.lib
opencv_flann247.lib

5.测试

安装完成后可测试安装成功与否
//图像边缘检测
#include <opencv2/opencv.hpp>
using namespace std;
#pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"")
IplImage *g_pSrcImage, *g_pCannyImg;
const char *pstrWindowsCannyTitle = "边缘检测图)";
//cvCreateTrackbar的回调函数
void on_trackbar(int threshold)
{
	//canny边缘检测
	cvCanny(g_pSrcImage, g_pCannyImg, threshold, threshold * 3, 3);
	cvShowImage(pstrWindowsCannyTitle, g_pCannyImg);
}
int main()
{
	const char *pstrImageName = "D:\\001.jpg";
	const char *pstrWindowsSrcTitle = "原图";
	const char *pstrWindowsToolBar = "Threshold";

	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(1);

	cvWaitKey();

	cvDestroyWindow(pstrWindowsSrcTitle);
	cvDestroyWindow(pstrWindowsCannyTitle);
	cvReleaseImage(&g_pSrcImage);
	cvReleaseImage(&g_pCannyImg);
	return 0;
}
测试结果如下:






            

本文由VS软件圈(vssoft.net)发布,不代表VS软件圈立场,转载联系作者并注明出处:https://vssoft.net/vsazwt/VS2013anzhuangwenti/2020/0725/5305.html

联系我们

在线咨询:点击这里给我发消息

微信号:PREEE8

工作日:9:30-18:30,节假日休息