OpenCV设置摄像头的分辨率(转-根据自己的改写)
2011-08-23 22:41
661 查看
opencv安装方法:
[zz]OpenCV设置摄像头的分辨率
2008年08月14日星期四下午07:22
OpenCV中原本是有设置视频捕捉属性的函数的,如下: CVAPI(int) cvSetCaptureProperty(CvCapture*capture,intproperty_id,double value); //cvSetCaptureProperty(pCapture,CV_CAP_PROP_FPS,30); //cvSetCaptureProperty(pCapture,CV_CAP_PROP_FRAME_WIDTH,1024); //cvSetCaptureProperty(pCapture,CV_CAP_PROP_FRAME_HEIGHT,768); 不过我用了之后没效果,就google到这篇文章了,也仅此一篇,实践过可行,源码也蛮清楚的,保存下。 查看文档,opencv1目前还不支持,只留了接口 [align=center][/align] Opencv是提供了一系列的摄像头设置函数的,但是没有提供相应的实现,使用的话,需要如下设置: 1把下面几个定义添加到 highgui.h(C:\Program Files\OpenCV\otherlibs\highgui)中 #defineCV_CAP_PROP_DIALOG_DISPLAY8 #defineCV_CAP_PROP_DIALOG_FORMAT9 #defineCV_CAP_PROP_DIALOG_SOURCE10 #defineCV_CAP_PROP_DIALOG_COMPRESSION11 #defineCV_CAP_PROP_FRAME_WIDTH_HEIGHT12 2把页面中的函数 staticinticvSetPropertyCAM_VFW(CvCaptureCAM_VFW*capture,int property_id,doublevalue)【看下面补充函数体】 添加到cvcap_vfw.cpp中,放在typedefstructCvCaptureCAM_VFW这个结构之后。(见下文) 3用下面的函数代替cvcap_vfw.cpp中的同名函数 staticCvCaptureVTablecaptureCAM_VFW_vtable= { 6, (CvCaptureCloseFunc)icvCloseCAM_VFW, (CvCaptureGrabFrameFunc)icvGrabFrameCAM_VFW, (CvCaptureRetrieveFrameFunc)icvRetrieveFrameCAM_VFW, (CvCaptureGetPropertyFunc)icvGetPropertyCAM_VFW, (CvCaptureSetPropertyFunc)icvSetPropertyCAM_VFW,//wasNULL原来此处代码为0 (CvCaptureGetDescriptionFunc)0 }; 4编译highgui 注:firstusewin32Debugmodetobuild highgui,thenusereleasemodetorebuildit 用的时候调用如下函数即可 cvSetCaptureProperty(capture,CV_CAP_PROP_FRAME_WIDTH_HEIGHT,640480) 补充,需要的函数: staticinticvSetPropertyCAM_VFW(CvCaptureCAM_VFW*capture,int property_id,doublevalue) { intresult=-1; CAPSTATUScapstat; CAPTUREPARMScapparam; BITMAPINFObtmp; switch(property_id) { case CV_CAP_PROP_DIALOG_DISPLAY: result= capDlgVideoDisplay(capture->capWnd); //SendMessage(capture->capWnd,WM_CAP_DLG_VIDEODISPLAY,0,0); break; case CV_CAP_PROP_DIALOG_FORMAT: result= capDlgVideoFormat(capture->capWnd); //SendMessage(capture->capWnd,WM_CAP_DLG_VIDEOFORMAT,0,0); break; caseCV_CAP_PROP_DIALOG_SOURCE: result= capDlgVideoSource(capture->capWnd); //SendMessage(capture->capWnd,WM_CAP_DLG_VIDEOSOURCE,0,0); break; case CV_CAP_PROP_DIALOG_COMPRESSION: result= capDlgVideoCompression(capture->capWnd); break; caseCV_CAP_PROP_FRAME_WIDTH_HEIGHT: capGetVideoFormat(capture->capWnd,&btmp,sizeof(BITMAPINFO)); btmp.bmiHeader.biWidth= floor(value/1000); btmp.bmiHeader.biHeight= value-floor(value/1000)*1000; btmp.bmiHeader.biSizeImage =btmp.bmiHeader.biHeight* btmp.bmiHeader.biWidth* btmp.bmiHeader.biPlanes* btmp.bmiHeader.biBitCount /8; capSetVideoFormat(capture->capWnd,&btmp,sizeof(BITMAPINFO)); break; default: break; } returnresult; } |
1VC6.0中怎样设置才能生成Debug或Release版本的程序?
vc右上角菜单栏或工具栏的空白处右键,选上Build项,使build工具栏可见,在Build工具栏上就可以选择工程的Debug或Release版本。
或者菜单栏Build->BatchBuild,在弹出的对话框中选择编译哪个版本,或者两个版本都编译。
2找不到longPR类似错误:(在XP中可能需要改动
如win7不要这么改!)
C:\ProgramFiles\OpenCV\otherlibs\highgui\window_w32.cpp
为了防止中间部分编译
#ifdefinedWIN64||definedEM64T修改为:#ifdefinedWIN64y999||
definedEM64Ty999
3.把编译好的bin覆盖。。。。。
相关文章推荐
- opencv 摄像头分辨率设置
- Python-OpenCV设置摄像头分辨率
- OpenCV 设置摄像头输出分辨率
- Opencv设置摄像头分辨率
- OpenCV摄像头采集分辨率设置问题
- opencv设置摄像头分辨率
- python opencv设置摄像头分辨率以及各个参数
- 使用opencv249设置摄像头分辨率
- OpenCV设置摄像头的分辨率
- python opencv设置摄像头分辨率以及各个参数的方法
- Python-OpenCV设置摄像头分辨率
- OpenCV对摄像头分辨率的设置
- opencv 设置摄像头分辨率
- 【计算机视觉】关于用opencv 设置摄像头读分辨率问题的若干说明
- OpenCV设置摄像头分辨率及全屏显示
- 打包自己的nuget时,设置安装此nuget改写web.config
- 《OpenCV设置和获取摄像头参数》
- paint.setTextSize()根据不同手机分辨率设置字体大小
- 基于opencv在摄像头ubuntu根据视频获取
- 自定义Toast 可以根据自己的需求 设置显示时间