OpenCV摄像头采集分辨率设置问题

在学习OpenCV的过程中遇到这样一个问题,利用OpenCV提供的函数无法修改摄像头采集的分辨率。后来经过google,baidu,终于得到了一种解决方案,现总结如下,如果大家有其它好的办法请给我发一个。

首先介绍一下工作环境,windows XP sp2,OpenCV1.0,direct SDK,VS2005,罗技快看摄像头。开发的是基于MFC的对话框程序。

在使用过程中,采集到的图像幅面大小一直都是320×240,但是实际工作需要能动态调节图像大小到640×480(摄像头支持),开始使用了OpenCV提供的一个函数,cvcamSetProperty进行设置,但是在MFC中出现错误说无法修改。在OpenCV提供的控制台例子程序中则可以使用,不过采集出来的图像大小实际为320×240,只是显示的窗口为640×480,并没有真正做到高分辨效果。

又在下面的网址中看到一种方法,具体见下面网页说明

http://hi.baidu.com/maxint/blog/item/564f2913d2005b25dc54013e.html

函数cvSetCaptureProperty设置指定视频获取的属性,意思是说,设置了640*480后,采集的图像大小就变为640*480了,不管摄像头驱动里的幅面大小是多少。如果摄像头设置的大小为640*480则采集的图像是640*480。

综上,要想动态的变化摄像头采集幅面,要使用cvSetCaptureProperty,并且在摄像头驱动里面将采集图像设置为较大值,这样可以实现动态的变换。

你可能感兴趣的:(工作,windows,Google,XP,mfc)