2009-04-06 14 views
10

私は現在、処理ライブラリを使用してOpenCVを使用しようとしています。 しかし、私はOpenCVに含まれているものを処理するか、Cのものを実行しようとすると、カメラの入力ではなく黒く表示されます。カメラのLEDインジケータが点灯します。誰も同じ問題を抱えていますか?私のカメラはどうにかopenCVと互換性がありませんか?それは...私は多少のUbuntu上で同じ問題を抱えていたなぜOpenCVは私に黒い画面を表示しますか?

おかげで、

答えて

0

Acerのクリスタルアイです。私はここからコードをダウンロードしました: http://www.rainsoft.de/projects/pwc.html フレームを取得する前に余分なステップがあります(私はFPSを設定すると思います)。試してみると、コードは読みやすく、非フィリップスのカメラでも動作します。

4

OpenCV 2.1には64ビットOSにはまだいくつか問題があります。件名にthis topicと読むことができます。

ウェブカメラの使用方法を示す作業/コンパイル可能なソースコードをお探しの場合はcheck this outです。

お手伝いしてください。

0

OpenCVは、限られた種類のカメラのみをサポートしています。ほとんどの場合、あなたのカメラはサポートされていません。ソースコードまたはそのWebサイトのいずれかを参照して、サポートされているものを確認することができます。

1

私は最近、同じ問題を抱えていました。独自にOpenCVのライブラリはちょうど私に空白の画面を与えた、私はvideoInputライブラリを含める必要がありました:

http://muonics.net/school/spring05/videoInput/

私が続く例をした:http://www.aishack.in/2010/03/capturing-images-with-directx/

:このソースから

#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; 
} 

関連する問題