opencv在vs2010下的配置
vs2010上配置opencv

图像增强和去雾说明文档文件夹说明:以下文件夹中的工程配置的opencv解压位置为F:\opencvXP系统下VS2010+Opencv-2.4.7的配置1.安装软件安装OpenCV-2.4.7,双击解压到F:\opencv(可设置任意路径,假设为%opencv%,本文中%opencv%代表opencv2.4.7解压路径的完整路径)。
安装VS2010,安装。
2.配置OpenCV环境变量计算机->(右键)属性->高级(标签)->环境变量->(双击)用户变量PATH->在变量值里面添加“%opencv%\build\x86\vc10\bin”,本机为“F:\opencv\build\x86\vc10\bin”。
3.启动VS2010,打开增强和去雾工程.sln文件。
若按步骤1、2中示例的路径正确配置,则可直接运行程序。
若opencv路径与步骤1、2中示例路径不同,按以下方法配置工程的opencv依赖。
4.配置工程的opencv依赖4.1视图(菜单项)->解决方案资源管理器->(右击)quwu_gpu->属性->配置属性->VC++目录:需要配置“包含目录”和“库目录”两项。
4.2配置“包含目录”项:添加行%opencv%\build\include%opencv%\build\include\opencv%opencv%\build\include\opencv24.3配置“库目录”项:添加行”%opencv%\build\x86\vc10\lib”即可。
4.4视图(菜单项)->解决方案资源管理器->(右击)quwu_gpu->属性->配置属性->连接器->输入->附加依赖项针对debug配置添加以下库:opencv_calib3d247d.lib opencv_contrib247d.lib opencv_core247d.lib opencv_features2d247d.lib opencv_flann247d.lib opencv_gpu247d.lib opencv_highgui247d.lib opencv_imgproc247d.lib opencv_legacy247d.lib opencv_ml247d.lib opencv_objdetect247d.lib opencv_ts247d.libopencv_video247d.lib。
OPENCV 2.4.10安装

一、VS2020安装opencv2.4.101.1首先安装vs2010安装这个就不用多谈了1.2下载opencv-2.4.10.exe,并解压到最后会在1.3添加系统变量在系统变量path后添加:C:\opencv\opencv\build\x86\vc10\bin1.4新建vc++控制台工程项目,配置1.4.1项目属性->配置属性->VC++目录->包含目录添加C:\opencv\opencv\build\includeC:\opencv\opencv\build\include\opencvC:\opencv\opencv\build\include\opencv21.4.2项目属性->配置属性->VC++目录->引用目录添加C:\opencv\opencv\build\x86\vc10\lib1.4.3项目属性->链接器->输入->附加依赖项在debug模式下添加配置方案为Debug的配置,添加:(2410代表我的opencv版本是2.4.10,需要对应更改)opencv_calib3d2410d.libopencv_contrib2410d.libopencv_core2410d.libopencv_features2d2410d.libopencv_flann2410d.libopencv_gpu2410d.libopencv_highgui2410d.libopencv_imgproc2410d.libopencv_legacy2410d.libopencv_ml2410d.libopencv_nonfree2410d.libopencv_objdetect2410d.lib opencv_ocl2410d.libopencv_photo2410d.libopencv_stitching2410d.libopencv_superres2410d.libopencv_ts2410d.libopencv_video2410d.libopencv_videostab2410d.lib配置方案为Release的配置,添加:opencv_calib3d2410.libopencv_contrib2410.libopencv_core2410.libopencv_features2d2410.lib opencv_flann2410.libopencv_gpu2410.libopencv_highgui2410.libopencv_imgproc2410.libopencv_legacy2410.libopencv_ml2410.libopencv_nonfree2410.libopencv_objdetect2410.libopencv_ocl2410.libopencv_photo2410.libopencv_stitching2410.libopencv_superres2410.libopencv_ts2410.libopencv_video2410.libopencv_videostab2410.lib二、工程中新建一个CPP文件,#include<iostream>#include<opencv2/core/core.hpp>#include<opencv2/highgui/highgui.hpp>using namespace cv;int main(){Mat img=imread("d:\\aaa.bmp");//读入一张图片namedWindow("Test");//创建一个名为Test窗口imshow("Test",img);//窗口中显示图像waitKey(5000);//等待5000ms后窗口自动关闭}。
VS 2010在MFC中用opencv实现对视频中动态目标的追踪

Visual Studio2010在MFC中用opencv实现对视频中动态目标的追踪第二步,建立一个MFC的对话框程序,做两个按钮,一个“打开视频文件”,一个“运动跟踪处理”。
具体操作:1 建立MFC对话框程序的框架:File ->New -> MFC AppWizard(exe),选取工程路径,并取工程名“VideoProcesssing”-> Next -> 选择Dialog based后,去掉使用Unicode库的勾,选择在静态库中使用 MFC,点Finish,点OK.2 添加按钮:直接Delete掉界面默认的两个“确定”“取消”按钮。
然后添加两个button,分别名为“打开视频”,“运动跟踪处理”,其ID分别设为IDC_OPEN_VIDEO,IDC_TRACKING.3 添加消息响应函数:双击按钮“打开视频文件”,自动生成响应函数名OnOpenVideo,点Ok。
然后添加如下代码:CFileDialog dlg(true,"*.avi",NULL,NULL,"*.avi|*.avi||");if (dlg.DoModal()==IDOK){strAviFilePath = dlg.GetPathName();}else{return;}同样,双击“运动跟踪处理”按钮,选择默认的响应函数名,然后添加代码://声明IplImage指针IplImage* pFrame = NULL;IplImage* pFrImg = NULL;IplImage* pBkImg = NULL;CvMat* pFrameMat = NULL;CvMat* pFrMat = NULL;CvMat* pBkMat = NULL;CvCapture* pCapture = NULL;int nFrmNum = 0;//打开AVI视频文件if(strAviFilePath=="") //判断文件路径是否为空{MessageBox("请先选择AVI视频文件!");return;}else{if(!(pCapture = cvCaptureFromFile(strAviFilePath))) {MessageBox("打开AVI视频文件失败!");return;}}//创建窗口cvNamedWindow("Video", 1);cvNamedWindow("Background",1);cvNamedWindow("Foreground",1);//使窗口有序排列,窗口宽330cvMoveWindow("Video", 30, 0);cvMoveWindow("Background", 360, 0);cvMoveWindow("Foreground", 690, 0);//逐帧读取视频while(pFrame = cvQueryFrame( pCapture )){nFrmNum++;//如果是第一帧,需要申请内存,并初始化if(nFrmNum == 1){pBkImg = cvCreateImage(cvSize(pFrame->width, pFrame->height), IPL_DEPTH_8U,1); // 存放背景图像(灰度)pFrImg = cvCreateImage(cvSize(pFrame->width, pFrame->height), IPL_DEPTH_8U,1); // 存放中间图像(灰度)pBkMat = cvCreateMat(pFrame->height, pFrame->width, CV_32FC1);pFrMat = cvCreateMat(pFrame->height, pFrame->width, CV_32FC1);pFrameMat = cvCreateMat(pFrame->height, pFrame->width, CV_32FC1);//转化成单通道图像再处理(灰度)cvCvtColor(pFrame, pBkImg, CV_BGR2GRAY);cvCvtColor(pFrame, pFrImg, CV_BGR2GRAY);cvConvert(pFrImg, pFrameMat);cvConvert(pFrImg, pFrMat);cvConvert(pFrImg, pBkMat);}else{cvCvtColor(pFrame, pFrImg, CV_BGR2GRAY); //转化成单通道图像再处理(灰度)cvConvert(pFrImg, pFrameMat);//高斯滤波先,以平滑图像//cvSmooth(pFrameMat, pFrameMat, CV_GAUSSIAN, 3, 0, 0);//当前帧跟背景图相减(求背景差并取绝对值)cvAbsDiff(pFrameMat, pBkMat, pFrMat);//二值化前景图(这里采用特定阈值进行二值化)cvThreshold(pFrMat, pFrImg, 60, 255.0, CV_THRESH_BINARY);//进行形态学滤波,去掉噪音cvErode(pFrImg, pFrImg, 0, 1);cvDilate(pFrImg, pFrImg, 0, 1);//滑动平均更新背景(求平均)cvRunningAvg(pFrameMat, pBkMat, 0.003, 0);//将背景转化为图像格式,用以显示cvConvert(pBkMat, pBkImg);// 保持原图像的旋转方向pBkImg->origin = pFrImg->origin = pFrame->origin;//显示图像cvShowImage("Video", pFrame);cvShowImage("Background", pBkImg);cvShowImage("Foreground", pFrImg);//如果有按键事件,则跳出循环//此等待也为cvShowImage函数提供时间完成显示//等待时间可以根据CPU速度调整if( cvWaitKey(200) >= 0 )break;}}//销毁窗口cvDestroyWindow("Video");cvDestroyWindow("Background");cvDestroyWindow("Foreground");//释放图像和矩阵cvReleaseImage(&pFrImg);cvReleaseImage(&pBkImg);cvReleaseMat(&pFrameMat);cvReleaseMat(&pFrMat);cvReleaseMat(&pBkMat);cvReleaseCapture(&pCapture);4 选fileview选项卡中VideoProcessingDlg.h,在CVideoProcessingDlg类中添加公有类成员:CString strAviFilePath;5 选fileview选项卡中VideoProcessingDlg.cpp,添加opencv头文件#include "cv.h"#include "highgui.h"#include "cxcore.h"6 编译执行,成功!还可以添加一个”录制视频”的按钮,修改ID号为IDC_RECORD,双击“录制视频”按钮,选择默认的响应函数名,然后添加代码:CvCapture* capture=cvCaptureFromCAM(-1); //打开摄像头CvVideoWriter* video=NULL;IplImage* frame=NULL;int n;if(!capture) //如果不能打开摄像头给出警告{cout<<"Can not open the camera."<<endl;return ;}else{frame=cvQueryFrame(capture); //首先取得摄像头中的一帧video=cvCreateVideoWriter("camera.avi", CV_FOURCC('X', 'V', 'I', 'D'), 25,cvSize(frame->width,frame->height)); //创建CvVideoWriter对象并分配空间//保存的文件名为camera.avi,编码要在运行程序时选择,大小就是摄像头视频的大小,帧频率是32if(video) //如果能创建CvVideoWriter对象则表明成功{cout<<"VideoWriter has created."<<endl;}cvNamedWindow("Camera Video",1); //新建一个窗口int i = 0;while(i <= 200) // 让它循环200次自动停止录取{frame=cvQueryFrame(capture); //从CvCapture中获得一帧if(!frame){cout<<"Can not get frame from the capture."<<endl;break;}n=cvWriteFrame(video,frame); //判断是否写入成功,如果返回的是1,表示写入成功cout<<n<<endl;cvShowImage("Camera Video",frame); //显示视频内容的图片i++;if(cvWaitKey(2)>0)break; //有其他键盘响应,则退出}cvReleaseVideoWriter(&video);cvReleaseCapture(&capture);cvDestroyWindow("Camera Video");}return ;第二步,建立一个编程环境,然后加载opencv的库路径等等。
VS2010下配置Openmesh+openGL

VS2010下配置Openmesh+openGL一.配置OpenGL1首先,下载glut.rar文件,这个网上搜一下都能够找到,亦可以从opengl官网下载,/resources/libraries/glut/glutdlls37beta.zip。
2.解压后可以得到5个文件:glut.h、glut.dll、glut.lib、glut32.lib、glut32.dll。
然后,○1把glut.h文件放在C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include\gl文件夹下面;○2把glut.lib、glut32.lib两个文件放在静态函数库所在的文件夹中,也就是说这两个文件要放到自己的VS2010安装目录下的VC\lib文件中。
我的vs2010安装目录是E:\vs2010\VC\lib;○3最后把glut.dll、glut32.dll文件放在C:\windows\system32文件夹下面.三步做完openGL的文件配置就完成了。
二.配置Openmesh1. 在网站上下载了 OpenMesh-2.0-RC4(这个谷歌下,网上很多,最好下载最新版本的)。
2.安装openmesh后,openmesh安装目录下的lib文件夹里面会有两个库文件OpenMeshCore.lib 和OpenMeshTools.lib。
3.为了不设置依赖的编译目录,将这两个文件放到VS的库文件里E:\VS2010\VC\lib中。
4.打开VS2010,新建一个工程,命名如test1,然后设置test1工程的依赖项,工程属性->连接器->输入-》附加依赖项-》加入如上两个lib就可以了。
在这里要说明一下,如果从VS2010的工具—属性里面设置附加依赖属性是不行的,所以我们要自己建一个工程,然后设置这个工程的附加依赖属性,设置的地方有两处,如下:○1项目—test1属性—VC++目录主要设置的是包含目录和库目录,文件路径设置如图,lib和include文件夹都在自己的openmesh安装目录下。
vs2010与opencv配置过程

Vs2010与Opencv 配置过程一.我的opencv是安装在D盘的以下内容是按照D盘安装的步骤:1 设置环境变量:我的电脑--->右键--->属性--->高级--->环境变量--->在用户变量里,(系统环境变量和用户环境变量里面都要添加这两个位置)新建PATH和TBB两个项步骤1:在PATH中添加D:\vs2010\opencv\build\x86\vc10\bin,步骤2:添加TBB的环境变量D:\vs2010\opencv\build\common\tbb\ia32\vc10如图所示:2.步骤3 打开一个Opencv的工程,点菜单目录的“视图”--->属性管理器--->双击项目名称步骤3:在配置属性—>通用属性--->VC++目录--->包含目录文件中添加D:\vs2010\opencv \build\includeD:\vs2010\opencv \build\include\opencvD:\vs2010\opencv \build\include\opencv23::在配置属性页—>通用属性--->VC++目录--->库目录中添加:D:\vs2010\opencv \build\x86\vc10\lib如图所示:步骤5 添加lib库文件, 在配置debug里--->项目属性--->链接器--->输入--->附加依赖库里加上opencv_core242d.libopencv_highgui242d.libopencv_video242d.libopencv_ml242d.libopencv_legacy242d.libopencv_imgproc242d.lib步骤6:在配置release里--->项目属性--->链接器--->输入--->附加依赖库里加上opencv_core242.libopencv_highgui242.libopencv_video242.libopencv_ml242.libopencv_legacy242.libopencv_imgproc242.lib测试小代码如下://在(show_image)窗口下读取图片(名为opencv)// opencv2_4_2test.cpp : 定义控制台应用程序的入口点。
visual_studio_2010_OpenGL开发环境配置

visual studio 2010 OpenGL 开发配置VS2010没有带 OpenGL 库, 可以自行从 VS2005、 VS2008或者其他 VC++环境 中提取相关文件加上来 配置 OpenGL 环境 ,也可以从此网站下载 (官方) /resources/libraries/glut/。
提取出来的文件都放在 了 Visual C++文件夹中,首先 include 文件夹下 GL 里面的文件 copy 到 C:\Program Files\Microsoft Visual Studio 10.0\VC\include\GL 文件夹中, 如果没有 GL 这个文件夹则可以自己新建一个, 然后把 OpenGL 库的 lib 文件夹中 的文件全部 copy 到 C:\Program Files\Microsoft Visual Studio 10.0\VC\lib 中, 最后, OpenGL 库里的 dll 文件夹中所有文件 copy 到 C:\Windows\System32 把 中,所有工作已经完成了,下面测试一下配置结果,打开 visual studio 2010, 新建一个 visual C++的 Win32控制台应用程序的空项目(这里不是 Win32 Project 而是 Win32 Console Application,这点非常重要),然后在项目中添加一个 C++ 文件,在写 C++文件名的时候写成是 c 后缀的文件(加.c 即可) ,然后粘贴下面 的测试代码运行调试 #include <GL/glut.h> void myDisplay(void) { glClear(GL_COLOR_BUFFER_BIT); glRectf(-0.5f, -0.5f, 0.5f, 0.5f); glFlush(); } int main(int argc, char *argv[]) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE); glutInitWindowPosition(100, 100); glutInitWindowSize(400, 400); glutCreateWindow("恭喜你,成功了"); glutDisplayFunc(&myDisplay); glutMainLoop(); return 0; }运行成功表明配置 OpenGL 环境成功!!!。
vs2010+MFC+OpenCV实现Canny边缘检测

本文是基于工程文件中已经添加了OpenCv库和路径1、在工程中添加CvvImage.h和CvvImage.cpp(从网上下载);2、在Doc.h文件中添加头文件#include <highgui.h>和#include "CvvImage.h" 以及成员变量(以m_Image为例);在Doc.cpp中,利用MFC向导添加两个virual function:@1 OnOpenDocument() : 在该函数内添加m_Image.Load(lpszPathName);若参数不匹配,修改字符集,使用Multi-byte@2 OnSaveDocument() : 在该函数内添加CFileDialog dlg ( TRUE ) ;if ( dlg.DoModal() == IDOK ){m_image.Save(dlg.GetPathName());} //return TRUE;注释掉//return CDocument::OnSaveDocument(lpszPathName);3、在View.cpp中添加CvvImage.h在OnDraw中添加CvvImage &img=pDoc->m_image;CRect r;GetClientRect (&r);img.DrawToHDC(pDC->GetSafeHdc() ,r);至此,可以在MFC中通过OpenCv打开和保存图像了下面是一个例子:添加一个Canny边缘检测的方法1、在资源菜单上添加菜单按键,右键添加句柄Event Handler (Class List选择Doc)2、在第一部中自动生成的处理处理函数内,添加IplImage* img;img=m_Image.GetImage();if(img->nChannels==3){IplImage* dst = cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,1);cvCvtColor(img,dst,CV_BGR2GRAY);*img=*dst;}cvCanny(img,img,50,150,3);UpdateAllViews(NULL);这样就能使用菜单对图像进行边缘检测了。
opencv2.3.1在vs2010上的配置

VS2010旗舰版下安装opencv2.3.1一、下载OpenC V for Windows(也即OpenCV-2.3.1-win-superpack.exe 文件)。
二、将OpenCV-2.3.1-win-superpack.exe解压到某个文件目录下(本文以D:\opencv2.3.1)为例三、安装CMake(不打算自己编译无需安装)下载cmake cmake-2.8.7-win32-x86.exe。
安装cmake到目录D:\ OpenCV2.3.1\cmake cmake-2.8.7-win32-x86运行cmake-gui,设置where is the source code路径为opencv安装路径(本文设置为:D:\ opencv2.3.1\opencv),设置where to build the binaries为D:\ opencv2.3.1\opencv\binary然后点Configure,会询问D:\ opencv2.3.1\opencv\binary文件夹不存在,是否创建?自然选择Yes.选择编译器,自然选择VS2010 (这里显示的是Visual Studio 10)点Finish,CMake会做一些测试,我们等待就行了,一般不会有问题。
测试结束,一些设置已经获得:这个时候设置还是红色的,再次点击Configure,确定。
这时红色的部分消失,可以看到一些路径已经设置:.点击左下方的Generate按钮,生成VS2010的项目文件。
这是我们查看硬盘D:\ opencv2.3.1 \binary文件夹,发现很多文件已经创建好了:可以看到.sln, .project配置文件均已经OK.找到OpenCV.sln文件,直接双击,用VS2010打开整个工程。
Build Solution, 分别编译Debug版和Release版:前窗口如下:此时直接编译(生成—>生成解决方案F7),这个过程会持续几分钟:然后把Debug下拉选择Release,如下图,再次编译(生成—>生成解决方案F7),同样会持续几分钟。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
首先安装CMAKE 2.8.1,然后解压OPENCV 2.1到你将要放置OPENCV的地方,接着,解压INTEL TBB 3.0,我是将OPENCVTBB 都放在PROGRAM FILES里面啦。
打开CMAKE 2.8.1,Where is the source code后面填写(或者选择)OPENCV 2.1的安装目录,在Where to build the binaries里填写你将要编译好的OPENCV
2.1FOR VS2010解决方案的文件夹,接着点击Configure按钮,如
果你初期在Where to build the binaries里填写的目录是不存在的,CMAKE将会询问你是否新建一个以此为名称的文件夹,点击是继续,在后续出现的对话框中选择Visual Studio 10,下面的选项选择Use default native compilers,点击Finish继续。
过30秒左右之后会出
现一个配置窗口(此处注意在CMAKE配置的时候是不能够打开
VS2010的),然后勾选BUILD_SHARED_LIBS,BUILD_TESTS,OPENCV_BUILD_3DPARTY_LIBS,以及下面的WITH_JASPER,WITH_JPEG,WITH_PNG,WITH_TBB,和WITH_TIFF选项,勾好后再次点击Configure,之后再配置窗口最上面会出现
TBB_INCLUDE_DIR-NOTFOUND字样的红色选项,此处为CMAKE
找不到INTEL TBB的包含文件为之所至,将INTEL TBB 3.0里面的INCLUDE文件夹路径(注意是INCLUDE,不是INCLUDE里面的子
文件夹)定位到该配置属性的路径里,再次点击Configure,在
TBB_LIB_DIR处又会出现红色一行,此处为INTEL TBB的库文件位置,此处必须将路径定位到含有LIB文件的位置,比如我的安装位
置是D:/Program Files/Intel TBB 3.0/lib/ia32/vc10,也就是说,在
lib文件夹下会有子文件夹,必须定位到子文件夹对应的VC版本文
件夹里去,这里由于是配置VS2010,所以我们选择VC10文件夹,ia32子文件夹是32位系统,此处应根据对应操作系统选择。
然后,我们再次点击Configure,此时所有红色行已经变为白色,同时在下
方的信息里面会有一条为Use TBB:YES的字样,证明我们已经将INTEL TBB配置完毕,然后点击Generate,完成后在生成文件夹下会出现一个VS2010的解决方案文件OPENCV.SLN,双击打开后,
出现OPENCV 2.1的所有工程项目,先不要着急编译,首先点击Solution Explorer里面的Property Manager,依次展开ALL_BUILD —Debug|Win32—右键单击er,选择Properties,然后选择VC++ Directories,在Executable Directories 里面将INTEL TBB 3.0的可执行路径填写到里面,此处与LIB一样,必须定位到VC10才可以,例如我的是D:\Program Files\Intel TBB 3.0\bin\ia32\vc10,将Include Directories定位到Intel TBB的Include文件夹即可无需再往深入定位,在Library Directories里填
写Intel TBB的LIB文件位置,定位到VC10文件夹,然后单击确定之后,将选项卡切回到Solution Explorer,将编译模式切换为Debug模式,右键单击Solution OpenCV,选择Rebuild Solution,
编译后在单击INSTALL项目,选择Build,之后将编译模式切换为Release模式,重新编译解决方案,再编译INSTALL项目,在你的
解决方案文件夹里面会生成bin目录,include目录,lib目录,在
VS2010里切回到Property Manager,像上面一样展开
er后选择Properties,然后再VC++ Directories里面增加OPENCV 2.1的可执行文件(bin),包含文件(include/opencv),以及库文件(lib),确定,退出并保存更改。
到此OPENCV 2.1配置完成,在以后建立OPENCV项目时需在每一
个项目里面添加依赖库,方法是在解决方案管理器里面右键选择项目,选择属性,然后再链接器里面选择输入,在依赖库里添加OPENCV的LIB文件夹里德LIB文件名称,文件名后面有小写字母“d”的为调试模式库,没有“d”的为发布模式库,即可。