0

私のコンピューターのウェブカメラから画像を読み取るためにopenCVを取得しようとしています。以下のコードは、Web カメラを正常に開きます (緑色のライトが点灯します)。ただし、フレームを取得してフレームを読み取ろうとすると失敗します。私はここで途方に暮れています。誰でも助けることができますか?

どうもありがとう、ヒラリー

PS MacBook Pro で Mac OS X 10.9 を実行しています。私のopencvバージョンは2.4.6.1です

コードは次のとおりです。

#include "opencv.hpp"
using namespace cv;

int main(int, char**) {

    VideoCapture cap = VideoCapture(0); 

    if(!cap.isOpened()){
       printf("failed to open camera\n");
       return -1;
    }

    namedWindow("edges",1);

    for(;;){
        if(waitKey(50) >= 0 ) break;

        if(!cap.grab()){
            printf("failed to grab from camera\n");
        }
    } 

    return 0;
}
4

1 に答える 1

0

ループ内の新しいフレームを読み込んで表示するのを忘れていました! そこには:

for(;;){
    if(waitKey(50) >= 0 ) break;
    Mat frame;
    if(!cap.grab()){
        printf("failed to grab from camera\n");
        break;
    }
    cap >> frame; 

    if(frame.empty()){
        printf("failed to grab from camera\n");
        break;
    }

    imshow("edges", frame);
} 
于 2013-11-11T05:07:52.033 に答える