open cv buffer size不匹配错误

时间:2016-02-19 07:16:58

标签: c++ opencv

使用网络摄像头使用Open CV我得到缓冲区大小不匹配错误并显示空白屏幕。我的操作系统是Windows 8.1,网络是内置的笔记本电脑。网络摄像头正在工作,因为它的光是发光。我谷歌为它,并得到了使用另一台相机的答案,但我没有其他所以有任何方法来解决问题。这是一个驱动程序问题或其他。 我使用以下方法获取视频

 CvCapture* a=cvCreateCameraCapture(0);

并使用以下方法获取每个帧:

i=cvQueryFrame(a);

其中'i'是类IplImage的指针。 它通过具有窗口7的外部网络摄像头在另一台PC上工作正常 我正在编写代码块。

1 个答案:

答案 0 :(得分:0)

首先,您可以考虑使用OpenCV的C ++接口:

#include "opencv2/opencv.hpp"
int main(){
    cv::VideoCapture cap(0);
    Mat frame;
    while(cap.read(frame){
         cv:: imshow("Frame", frame);
         if( waitKey(1) == 27 ) break;
    }
    return 0;
}

关于相机在机器上而不在其他机器上工作的问题。您应首先检查您是否拥有相机的写号(例如,我提供的代码中为0)