使用网络摄像头使用Open CV我得到缓冲区大小不匹配错误并显示空白屏幕。我的操作系统是Windows 8.1,网络是内置的笔记本电脑。网络摄像头正在工作,因为它的光是发光。我谷歌为它,并得到了使用另一台相机的答案,但我没有其他所以有任何方法来解决问题。这是一个驱动程序问题或其他。 我使用以下方法获取视频
CvCapture* a=cvCreateCameraCapture(0);
并使用以下方法获取每个帧:
i=cvQueryFrame(a);
其中'i'是类IplImage的指针。 它通过具有窗口7的外部网络摄像头在另一台PC上工作正常 我正在编写代码块。
答案 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)