我目前正在尝试使用OpenCV(使用Processing库)。 但是,当我尝试运行任何示例(处理的或OpenCV附带的C)时,我只看到黑色而不是相机的输入。相机的LED指示灯亮了..有没有人有同样的问题?我的相机是否与openCV不相容?这是宏碁水晶之眼...
谢谢,
答案 0 :(得分:4)
OpenCV 2.1仍然存在64位操作系统的一些问题。您可以阅读有关该主题的this topic。
如果您正在寻找显示如何使用网络摄像头的工作/可编辑源代码,check this out。
如果它对您有所帮助,请告诉我们。
答案 1 :(得分:1)
我最近遇到了同样的问题。 OpenCV库本身就给了我一个空白的屏幕,我必须包含videoInput库:
http://muonics.net/school/spring05/videoInput/
我遵循的一个例子是:
#include "stdafx.h"
#include "videoInput.h"
#include "cv.h"
#include "highgui.h"
int main()
{
videoInput VI;
int numDevices = VI.listDevices();
int device1= 0;
VI.setupDevice(device1);
int width = VI.getWidth(device1);
int height = VI.getHeight(device1);
IplImage* image= cvCreateImage(cvSize(width, height), 8, 3);
unsigned char* yourBuffer = new unsigned char[VI.getSize(device1)];
cvNamedWindow("test");
while(1)
{
VI.getPixels(device1, yourBuffer, false, false);
image->imageData = (char*)yourBuffer;
cvConvertImage(image, image, CV_CVTIMG_FLIP);
cvShowImage("test", image);
if(cvWaitKey(15)==27) break;
}
VI.stopDevice(device1);
cvDestroyWindow("test");
cvReleaseImage(&image);
return 0;
}
从此来源:http://www.aishack.in/2010/03/capturing-images-with-directx/
答案 2 :(得分:0)
我在Ubuntu上遇到了同样的问题。我从这里下载了一个代码: http://www.rainsoft.de/projects/pwc.html 它在开始获取帧之前做了一个额外的步骤(我认为设置FPS)。值得一试,该代码易于阅读并适用于非飞利浦凸轮。
答案 3 :(得分:0)
OpenCV仅支持有限数量的相机。很可能你的相机不受支持。您可以查看源代码或其网站,以查看支持的内容。