学习Opencv 课后习题答案 2.1 利用Microsoft Visual Studio 2010 打开D:\OpenCV2.1\VS2010\ OpenCV.sln 文件,如图1 示。在“Solution Configuration”下选择“Debug”模式,右击解决方案,选择“Build Solution”进行编译,编译结束后结果显示如图2 示。再次右击文件“INSTALL”,选择“Rebuild Solution”进行再编译,编译后结果显示如图3 示。同理,“Release”模式和“Debug”模式操作相同(示图略)。这样就产生了“Debug”和“Release”两个版本的库文件。 图1 载入解决方案OpenCV.sln 图2 编译解决方案 图3 再编译 INSTALL 2.2 创建工程:Move 实验,导入文件lkdemo.c,如图4 示。在PC 机上安装摄像头,编译 工程,运行程序如图5 示。键入“r”后显示图像如图6 示;键入“n”后显示图像如图7 示。 图4 创建工程 图5 运行程序结果显示 图6 跟踪初始化显示 图7 夜间模式跟踪 2.3 #include "cv.h" #include "highgui.h" IplImage *DoPyDown(IplImage *in,int fliter = IPL_GAUSSIAN_5x5); main(int argc, char **argv) { CvCapture * capture = 0; //创建窗口,显示缩放前的文件 cvNamedWindow("AVI_Example",1); //创建窗口,显示缩放后的文件 cvNamedWindow("AVI_After"); //选择是从摄像头中读取还是从文件中读取 if(argc==1) { capture = cvCreateCameraCapture(0); } else { capture = cvCreateFileCapture("m.avi"); } assert(capture!=NULL);//和下一句if作用相同 if (!capture) { return -1; } IplImage* bgr_frame = cvQueryFrame(capture); double fps = cvGetCaptureProperty(capture,CV_CAP_PROP_FPS); //得到要写入视频的宽高数据 CvSize size = cvSize(((int)cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_WIDTH))/2, ((int)cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_HEIGHT))/2 ); //下一句创建一个写入设备以便将视频流写入视频文件 CvVideoWriter* writer = cvCreateVideoWriter("lgc.avi",-1,fps,size); IplImage* OutImage; IplImage* logpolar_frame = cvCreateImage(size,IPL_DEPTH_8U,3); //判断逐帧读取是否为空(是否读完) while((bgr_frame=cvQueryFrame(capture))!=NULL) { //对视频进行转换,用此函数后录制的文件变形 cvLogPolar(bgr_frame, logpolar_frame, cvPoint2D32f(bg...