使用opencv显示图像时,我总是会看到一个灰色屏幕,图像是从相机捕获的。Opencv:从摄像头捕获的图像始终为灰色
capture = cvCaptureFromCAM(-1);
cvGrabFrame(capture);
image = cvRetrieveFrame(capture);
cvShowImage("name", image);
之后,我看到灰色的屏幕,即使我在循环中。但是相同的代码在另一台计算机上运行良好。问题是什么?两台计算机都使用相同的opencv库版本。在Visual Studio 2010中工作,C++ Opencv版本2.2.0
编辑1:在两台计算机中使用的相机是相同的。 而我试图重新在问题发生的计算机上的opencv,它没有帮助。
你应该尝试设备索引= 0,只是一个想法.. – Adrian
试过了,没有帮助。其实相机正在工作,我看到它上面的蓝色指示灯亮起。问题在于我认为opencv中的某个地方。 – maximus
这里解释:http://opencv.willowgarage.com/documentation/reading_and_writing_images_and_video.html,当使用RetrieveFrame时,你首先调用GrabFrame。另一种方法是使用单个调用QueryFrame。 – crisbia