ERROR: SampleCB() - buffer sizes do not match " 解决方法

文章详细介绍了使用OpenCV进行摄像头操作时遇到缓冲区大小不匹配错误的原因及解决方法,通过调整代码实现摄像头图像大小与OpenCV兼容,确保程序稳定运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        笔记本有内置摄像头。Windows7驱动已经安装成功,利用QQ测试摄像头正常。但是利用OpenCV简单的摄像头操作后,就会出现ERROT: SampleCB() - buffer sizes do not match的问题。下面是代码:

#include<iostream>  
#include <opencv2/core/core.hpp>  
#include <opencv2/highgui/highgui.hpp>  


using namespace cv;


#include "highgui.h"

int main()
{
	CvCapture* pCap = cvCreateCameraCapture(1);

	IplImage *frame = NULL;

	if (cvCreateCameraCapture == NULL)
	{
		return(0);
	}

	cvNamedWindow("Camera", CV_WINDOW_FULLSCREEN);

	while ((frame = cvQueryFrame(pCap)) != 0 && cvWaitKey(20) != 27)
	{
		frame = cvQueryFrame(pCap);

		cvShowImage("Camera", frame);
	}

	cvReleaseCapture(&pCap);
	cvDestroyWindow("Camera");
	return (0);
}


        问题主要是摄像头摄取的图片大小超过了OpenCV最大限度,所以造成了缓冲区大小不匹配,http://www.me.sie.dendai.ac.jp/labWiki/wiki.cgi?page=*%C3%ED%B0%D5%BD%F1%A4%AD-USB%A5%AB%A5%E1%A5%E9%A4%CE%BB%C8%CD%D1     这个网站上有明确的说明。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值