来自opencv的Imshow不再工作了

时间:2013-04-13 21:28:28

标签: c++ opencv

我使用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;
}

1 个答案:

答案 0 :(得分:10)