2

imshow 関数を使用していくつかの簡単なプログラムを作成しました。数回はうまくいきました。処理前と処理後の 2 枚の写真を表示しようとしました。最初は問題なく動作しましたが、2 回目はアプリケーションがクラッシュしました。

毎回 imshow クラッシュ アプリケーションが表示されるようになりました。

それを修正する方法は?

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

using namespace std;
using namespace cv;

int main()
{
    Mat image, gray_image;
    string file_path;

    cout << "Input file path: ";
    cin >> file_path;

    image = imread(file_path, CV_LOAD_IMAGE_UNCHANGED);
    if (image.data==NULL)
        {
            cout << "No image found!";
            return 1;
        }

    cvtColor(image, gray_image, CV_BGR2GRAY);

    namedWindow("Orig", CV_WINDOW_AUTOSIZE);
    namedWindow("Gray", CV_WINDOW_AUTOSIZE);

    imshow("Orig", image);
    imshow("Gray", gray_image);

    cout << "Output file path: ";
    cin >> file_path;

    imwrite(file_path, gray_image);

    return 0;
}
4

1 に答える 1

9

waitKeyが必要です

OpenCV でのwaitKey (30) の意味がわかりますか?

于 2013-04-14T01:14:57.383 に答える