Невозможно отобразить изображение в Opencv, причина в памяти - PullRequest
0 голосов
/ 21 октября 2019

Я пытаюсь отобразить изображение с помощью opencv, но не получилось. Поиск в Google и не знаю, как ближайший показывает только отладку

Здесь код

#include<opencv2/opencv.hpp>
#include<iostream>
using namespace std;
using namespace cv;
int main()
{
    Mat img = imread("dom.png");
    namedWindow("image", WINDOW_NORMAL);
    imshow("image", img);// It stuck here
    waitKey(0);
    return 0;
}

Я пытался поместить img в файл ресурсов и исходный файл, но все еще получаю ошибку. Платформа для x64.

Exception thrown at 0x00007FFBE404A388 in Opencv_01.exe: Microsoft C++ exception: cv::Exception at memory location 0x000000768258F1B0.
Unhandled exception at 0x00007FFBE404A388 in Opencv_01.exe: Microsoft C++ exception: cv::Exception at memory location 0x000000768258F1B0.

Где я ошибся?

1 Ответ

0 голосов
/ 21 октября 2019

Проблема в том, что вы не обрабатываете случай, когда не удается загрузить изображение. Возможно, он не найден в каталоге программы currnet.

Способ проверить, что изображение было загружено, выглядит следующим образом:

int main()
{
    Mat img = imread("dom.png");

    if(!img.data) {
        cout << "Could not load image" << '\n';
        return 1;
    }

    namedWindow("image", WINDOW_NORMAL);
    imshow("image", img);// It stuck here
    waitKey(0);
    return 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...