为什么OpenCV会给我一个黑屏?

时间:2009-04-06 06:29:04

标签: opencv

我目前正在尝试使用OpenCV(使用Processing库)。 但是,当我尝试运行任何示例(处理的或OpenCV附带的C)时,我只看到黑色而不是相机的输入。相机的LED指示灯亮了..有没有人有同样的问题?我的相机是否与openCV不相容?这是宏碁水晶之眼...

谢谢,

4 个答案:

答案 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仅支持有限数量的相机。很可能你的相机不受支持。您可以查看源代码或其网站,以查看支持的内容。