VS2010配置opencv2.4.8,用MFC创建显示一个图片的简单程序

4 篇文章 0 订阅
1、OpenCV的特点:
  • OpenCV是一个基于C/C++语言的开源图像处理函数库
  • 其代码都经过优化,可用于实时处理图像
  • 具有良好的可移植性
  • 可以进行图像/视频载入、保存和采集的常规操作
  • 具有低级和高级的应用程序接口(API)
  • 提供了面向Intel IPP高效多媒体函数库的接口,可针对你使用的Intel CPU优化代码,提高程序性能(译注:OpenCV 2.0版的代码已显着优化,无需IPP来提升性能,故2.0版不再提供IPP接口)

2、下载安装OpenCV2.4.8
可到以下地址下载:
(1) 下载OpenCV-2.3.1-win-superpack.exe  (我金山快盘上的文件,可以用QQ登录金山快盘下载)
(2)OpenCV开源网站下载 (我就是从这个网站下载的)
     下载好后直接双击安装,选择安装文件,提取OpenCV函数库到指定路径,比如 D:\   , 选好安装路径后,点击“Extract”


安装完成后,文件路径D:\OpenCV2.3下就是开发所需的函数库。

3、配置OpenCV系统环境变量:
右键单击“计算机” --》 “属性” --》“高级系统设置”--》“环境变量”,找到“系统变量(S)”下“变量”值为“Path”的项,双击或点击“编辑”

 
在“变量值”编辑框中的末尾(以分号结尾,没有分号的自己手动添加分号)添加OpenCV的安装路径,
如  ;D:\OpenCV2.3\build\bin\;D:\OpenCV2.3\build\x64\vc10\bin\
添加完成后,点击“确定”,接着点击“确定”关闭“环境变量”,继续点击“确定”关闭“系统属性”。

4、创建VS2010项目:

没有VS2010,可以点击下面链接下载:

(1)Visual Studio 2010 Professional Edition 官方下载

(2)迅雷7下载链接,将下面链接复制到迅雷的新建任务URL下载

            thunder://QUFodHRwOi8vYmlnMS5jcjE3My5jb20vL1ZTMjAxMFByb1RyaWFsQ0hTLnJhclpa

打开VS2010,点击“文件”--》“新建”--》“项目”-》选“Visual C++”对应的“Win32控制台应用程序”,输入“名称”,如“Win32OpenCV”,写好后点击“确定”,单击“完成”。

5、配置VS2010:

(1)单击“项目” --》“Win32OpenCV属性”

(2)鼠标选中“配置属性”,再点击“配置管理器”,配置x64平台。可参考我的博客 Windows 3 位程序编译成64位


(3)鼠标选中“C/C++”  展开  --》“常规”,在右侧选择“附加包含目录”--》“编辑”,按照刚才第二步安装进行添加,添加完之后“确定”。

D:\OpenCV2.3\build\include

D:\OpenCV2.3\build\include\opencv


(4)鼠标选中“连接器”展开  --》“输入”--》“附加依赖项” --》“编辑”

添加如下lib文件:

D:\OpenCV2.3\build\x64\vc10\lib\opencv_core230d.lib
D:\OpenCV2.3\build\x64\vc10\lib\opencv_highgui230d.lib
D:\OpenCV2.3\build\x64\vc10\lib\opencv_video230d.lib
D:\OpenCV2.3\build\x64\vc10\lib\opencv_ml230d.lib
D:\OpenCV2.3\build\x64\vc10\lib\opencv_legacy230d.lib
D:\OpenCV2.3\build\x64\vc10\lib\opencv_imgproc230d.lib

  添加完成后“确定”。最后点击“应用”--》“确定”。

6、编写代码调用OpenCV函数:

示例程序1:

打开Win32OpenCV.cpp文件,添加如下代码:

  1. #include "stdafx.h"  
  2. #include <highgui.h>  
  3.   
  4. int _tmain(int argc, _TCHAR* argv[])  
  5. {  
  6.     int c;  
  7.     IplImage *img;// allocate memory for an image  
  8.     CvCapture* capture = cvCaptureFromCAM(1);// capture from video device #1      
  9.     cvNamedWindow("mainWin", CV_WINDOW_AUTOSIZE);// create a window to display the images  
  10.     cvMoveWindow("mainWin", 5, 5);// position the window  
  11.     while(1)  
  12.     {     
  13.         img=cvQueryFrame(capture);// retrieve the captured frame          
  14.         cvShowImage("mainWin", img );// show the image in the window      
  15.         c=cvWaitKey(10);// wait 10 ms for a key to be pressed     
  16.         if(c == 27)// escape key terminates program  
  17.             break;  
  18.     }  
  19.     return 0;  
  20. }  

点击“调试” --》“开始执行不调试”,如果你的电脑摄像头是好的,那么就可以显示摄像头拍到的视频了。


示例程序2:

先复制一张图片到当前工作目录下,再编写如下代码:

  1. #include "stdafx.h"  
  2. #include "cv.h" //  OpenCV 的基本函数头文件  
  3. #include"highgui.h" //OpenCV 的图像显示函数头文件  
  4. int _tmain(int argc, _TCHAR* argv[])  
  5. {  
  6.   
  7.     IplImage *src; // 定义IplImage指针变量src     
  8.     src = cvLoadImage("me.bmp",-1); // 将src指向当前工程文件目录下的图像me.bmp    
  9.     cvNamedWindow("me",0);//定义一个窗口名为lena的显示窗口    
  10.     cvShowImage("me",src);//在lena窗口中,显示src指针所指向的图像    
  11.     cvWaitKey(0);//无限等待,即图像总显示    
  12.     cvDestroyWindow("me");//销毁窗口lena    
  13.     cvReleaseImage(&src);//释放IplImage指针src   
  14.   
  15.     return 0;  
  16. }  
编译运行,会显示一张图片。

有关OpenCV函数库的学习可以参考“OpenCV中文网站”   OpenCV中文网 ,进行详细学习。

在VS2010创建MFC窗口程序,添加一个按钮,双击按钮编写代码:
 IplImage *src; // 定义IplImage指针变量src     
    src = cvLoadImage("D:\\me.bmp",-1); // 将src指向当前工程文件目录下的图像me.bmp    
    cvNamedWindow("me",0);//定义一个窗口名为lena的显示窗口    
    cvShowImage("me",src);//在lena窗口中,显示src指针所指向的图像    
    cvWaitKey(0);//无限等待,即图像总显示    
    cvDestroyWindow("me");//销毁窗口lena    
    cvReleaseImage(&src);//释放IplImage指针src  
运行程序,单击按钮,就能出现读到的一张图片,说明配置很成功。

配置过程中出现的问题和解决办法:
1.注意链接-输入
2.注意常规---附件包含目录
3.配置要是debug  x64 平台

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值