opencv第一次实验报告
- 格式:doc
- 大小:1.64 MB
- 文档页数:8
计算机视觉与Opencv 基础实验一
学院:宇航学院
专业:探测制导与控制技术
学号: 39152215
姓名:程勖
北京航空航天大学
一、Opencv2.3.1在VS2010平台上安装配置图解
1、下载软件
Opencv2.3.1可从此处下载到:/index.php/Download VS Express是微软提供的免费版,可从此处下载:
/visualstudio/en-us/products/2010-editions/express 2、安装软件
先安装VS2010,接着把刚下载的Opencv2.3.1文件解压,可以放在任意位置,但在下面的配置中相应把路径改下。
3、设置用户变量
计算机>属性>高级系统设置>环境变量>新建,新建一个用户变量,如变量名:Path,变量值:C:\opencv2.3.1\build\x86\vc9\bin
变量值有如下选择:
32位VS2010:C:\opencv2.3.1\build\x86\vc10\bin
4、设置编译路径
VS2010:先新建一个项目(每新建一个项目都需要进行以下的配置才能编译Opencv里的函数,可以不注册电脑),在“解决方案资源管理器”窗口下,右击,“属性”,如果是32位系统,在“平台”框上显示“Win32”,64位显示“x64”,需要更改则点击“配置管理器”,在“活动解决方案平台”下拉框新建一个对应的平台。
接着,配置属性>VC++目录,在右边“包含目录”那栏,点击编辑按钮,再分别新建以下3条路径:
C:\opencv\build\include
C:\opencv\build\include\opencv
C:\opencv\build\include\opencv2
然后选择“库目录”那栏,新建1条路径:
32位:C:\opencv\build\x86\vc10\lib
64位:C:\opencv\build\x64\vc10\lib
5、注销电脑,设置库文件
重新打开VS2010用回上一步所建的项目。
在“解决方案资源管理器”窗口中,右单击项目名,选择“属性”>配置属性>链接器>输入,接着在“配置”下拉框中,选择“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
(可根据实际需要删减)
到此Opencv2.3.1配置完成,下面编译运行程序
6、编译opencv2.3.1程序,检验是否配置成功
在编译前,先检查一下编译平台是否正确,如果是32位系统显示“Win32”,64位系统显示“x64”。
如果显示不对,在下拉框选对,如果下拉没得选择,说明在第4步的“平台”选择不对,请重新从第4步再配置一遍。
二、视频读取和保存
1、实验代码:
#include <stdio.h>
#include "StdAfx.h"
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>
int main()
{
IplImage* pFrame = NULL;
CvCapture* pCapture = NULL;
int nFrmNum = 0;
cvNamedWindow("video", 1);
cvMoveWindow("video", 30, 0);
pCapture = cvCaptureFromCAM(-1);
CvSize size = cvSize(400,300);
CvVideoWriter* write=cvCreateVideoWriter("test.avi", CV_FOURCC('X','V','I','D'), 30, size, 1 );
while(pFrame = cvQueryFrame( pCapture ))
{
cvShowImage("video", pFrame);
cvWriteFrame( write,pFrame );
if( cvWaitKey(2) >= 0 )
break;
}
cvDestroyWindow("video"); cvReleaseVideoWriter(&write); cvReleaseCapture(&pCapture); return 0; }
2、实验结果。