2012-12-21 84 views
3

我是新來的,但一直在做我的閱讀份額和嘗試不同的設置,以幫助縮小問題!任何幫助讓我通過這個路障將非常感激。VS 2010打開相機,但只顯示灰色的窗口

目前我正在運行:Win 7 Ultimate,Visual C++ 2010 Express,OpenCV 2.2.0和Microsoft - LifeCam Studio Webcam - Silver 1080p HD。

我沒有得到生成錯誤,當我運行程序時,我的相機出現了(藍色指示燈亮起),屏幕彈出,我認爲應該顯示我的相機反饋,但它只是一個灰色框裏面沒什麼。下面的代碼我認爲會有助於縮小問題的範圍,但我不知所措。

int main() 
{ 
CvCapture *webcam = NULL; 
webcam = cvCreateCameraCapture(-1); 
if(webcam!=NULL) 
    { 
    IplImage *frame = cvQueryFrame(webcam); 
    cvShowImage("WEBCAM_TEST",frame); 
    cvWaitKey(0); 
    return 0; 
    } 
else 
    { 
    std::cout<<"CAMERA NOT DETECTED"<<std::endl; 
    return 0; 
    } 

} 
+0

我正在使用64位操作系統! –

回答

3

你的代碼是有時顯示有時會表現出我的系統上正確的圖像的黑色圖像(Windows 7的64 VS2010 2.4.3 OpenCV的)......怎麼過,當我把它在不停流循環該圖像OK ...所以只是修改代碼略和嘗試...

#include <opencv2/core/core.hpp> 
#include <opencv2/highgui/highgui.hpp> 
#include <iostream> 

using namespace cv; 

int main() 
{ 
CvCapture *webcam = NULL; 
webcam = cvCreateCameraCapture(-1); 

if(webcam!=NULL) 
    { 
    while(true) 
    { 
     IplImage *frame = cvQueryFrame(webcam); 
     cvShowImage("WEBCAM_TEST",frame); 
     cvWaitKey(20); 
    } 
    } 
else 
    { 
    std::cout<<"CAMERA NOT DETECTED"<<std::endl; 
    return 0; 
    } 

return 0; 

} 
+0

現在試試謝謝! –

+0

同樣的問題! http://tinypic.com/r/35chbnk/6你會建議轉到更新的版本還是使用這個版本? –

+0

你可以使用其他攝像頭軟件訪問攝像頭嗎?...你可以嘗試OpenCV 2.4.3 ... http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.3/OpenCV -2.4.3.exe /絕對下載 –

1

在OpenCV的,如果你只是平時創建相機捕捉它的灰後得到的幀。所有你需要做的只是獲得下一幀或等待第一幀。此代碼:

int _tmain(int argc, _TCHAR* argv[]) 
{ 
    VideoCapture cap(0); 
    if(!cap.isOpened()) 
     return -1; 

    Mat frame; 
    namedWindow("01",1); 

    //cap >> frame; //option 1 
    //waitKey(5000); //option 2 
    cap >> frame; 
    imshow("01", frame); 
    int key = waitKey(30); 
    return 0; 
} 

會顯示灰色框,但如果你取消註釋選項1或選項2 - 它將很好地工作。

相關問題