1

Macbook Pro (10.8.5、Retina モデル) で openCV を実行しようとしていますが、入力にはデフォルトの iSight カメラを使用したいと考えています。する必要はありません。

OpenCV のユーザー ドキュメントのサンプル プログラムを使用しています。

#include "cv.h"
#include "highgui.h"

using namespace cv;

int main(int, char**)
{
    VideoCapture cap(0);
    if(!cap.isOpened()) return -1;

    Mat frame, edges;
    namedWindow("edges",1);
    for(;;)
    {
        cap >> frame;
        cvtColor(frame, edges, CV_BGR2GRAY);
        GaussianBlur(edges, edges, Size(7,7), 1.5, 1.5);
        Canny(edges, edges, 0, 30, 3);
        imshow("edges", edges);
        if(waitKey(30) >= 0) break;
    }
    return 0;
}

このプログラムを実行すると、プログラムはアサーションに失敗します。

OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cvtColor, file /Users/dadair/opencv/src/modules/imgproc/src/color.cpp, line 3402
libc++abi.dylib: terminate called throwing an exception

これが失敗する理由と、問題を解決するために何ができるかを誰かが説明できますか? OpenCV 2.4.6 を実行しています。

ありがとう!

4

2 に答える 2