0

これは私のコードです:

#include<opencv\cv.h>
#include<opencv\highgui.h>
using namespace cv;

int main(){
    //create matrix to store image
    Mat image;

    //initialize capture    
    VideoCapture cap(0);
    cap.open(0);

    //create window to show image   
    namedWindow("window",1);

    while(1){   
        //copy webcam stream to image
        cap>>image;

        //print image to screen     
        imshow("window",image); //Error line

        //delay 33ms
        waitKey(33);
    }
}

私が得るエラー:

opencv error: assertion failed (size.width>0 && size.height>0) in unknown function
file...\opencv\modules\highgui\src\window.cpp line 261

window.cpp の 261 行目は次のとおりです。

CV_Assert(size.width>0 && size.height>0);

問題を解決しました。まず、このコードを追加できます

VideoCapture cap;
cap.set(CV_CAP_PROP_FRAME_WIDTH, 640);
cap.set(CV_CAP_PROP_FRAME_HEIGHT, 480); 

次に、このコードを while ループに追加します。

cap.read(image);
4

2 に答える 2

3

(size.width>0 && size.height>0)そこに空があることを意味しMatます。この場合、imageカメラを開くことができなかったので、それは空であるに違いありません。VideoCapture::open戻り値を確認してください。

于 2013-09-12T13:57:14.843 に答える
1
cap.open(0);
Sleep(1000);  // Wait for response of camera, don't forget to #include <windows.h>

乾杯

于 2013-10-31T09:21:42.363 に答える