【计算机视觉】关于用opencv 设置摄像头读分辨率问题的若干说明

关于用opencv 设置摄像头读分辨率问题的若干说明

1 问题最初起因

我想充分利用相机高分辨率来提高视角,故用opencv直接设置摄像机分辨率。不幸的我倒霉出现问题。

VideoCapture类读AVI视频可以设置高分辨率1294*964,读摄像头为啥不能设置1294*964,可以设置640*480,也可以设置320*240

有读摄像头设置分辨率1294*964成功的吗,相机要求视场大,距离目标不能太远,要求稳定。所以就用最高分辨率了。
是我相机问题,还是VideoCapture类问题 

 

2 问题表现形式

2.1  ERROT: SampleCB() - buffer sizes do not match 解决方案

cap.set(CV_CAP_PROP_FRAME_WIDTH,1294);

cap.set(CV_CAP_PROP_FRAME_HEIGHT,964);

 

 

摄像头摄取的图片超出了OpenCV的最大限度,造成缓冲区大小不匹配:

解决方法很简单。

    cv::VideoCapture capture(1);

double width=capture.get(CV_CAP_PROP_FRAME_WIDTH);

double height=capture.get(CV_CAP_PROP_FRAME_HEIGHT);

capture.set(CV_CAP_PROP_FRAME_WIDTH,width);

capture.set(CV_CAP_PROP_FRAME_HEIGHT,height);

参考 的http://blog.csdn.net/jia_zhengshen/article/details/9980495

2.2 但没有解决,因为默认为VideoCapture  640*480

 

VideoCapture cap(1);

//double width=cap.get(CV_CAP_PROP_FRAME_WIDTH);

<
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值