5

私はopencv2.4.2でこの厄介な問題を抱えています。私はVS2012を使用して、この短いテストプログラムをコンパイルします。

#include <cv.h>
#include <cxcore.h>
#include <highgui.h>

using namespace cv;

int main()
{
    Mat sudoku = imread("sudoku.jpg",0);
    namedWindow("Lines", CV_WINDOW_AUTOSIZE);

    imshow("Lines", sudoku);

}

Imshowが問題です。取り外しても問題なく動作します。代わりにデバッグライブラリを使用するというヒントをここで見つけましたが、役に立ちませんでした。

4

1 に答える 1

8

まず、画像が正しく読み込まれているかどうかを確認する必要があります。これを行うには、そうimage.dataであるNULLかどうかを確認します。

次に、電話をかけた後、画像を表示 imshowするために電話する必要があります:http: //opencv.willowgarage.com/documentation/cpp/user_interface.html#cv-waitkeywaitKey

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

#include <opencv2/opencv.hpp>
#include <iostream>

using namespace std;
using namespace cv;

int main()
{
    Mat sudoku = imread("sudoku.jpg",0);

    if (sudoku.data == NULL)
    {
        cout << "No image found! Check path." << endl;
        return 1;//ERROR
    }
    else
    {
        namedWindow("Lines", CV_WINDOW_AUTOSIZE);
        imshow("Lines", sudoku);
        waitKey();//without this image won't be shown
        return 0;//OK
    }

}
于 2012-10-14T11:21:26.040 に答える