OpenCV imread() не работает

У меня есть этот простой код для открытия изображения, но он показывает пустое изображение в окне «Видео». Я проверил версии и отладочные библиотеки, чтобы убедиться. Он находится в режиме выпуска, а библиотека является выпуском библиотеки. Изображение есть, и я также попробовал полный путь к изображению, но все равно не работает. Также пробовал разные форматы изображений: jpg, png, bmp. Это выпуск OpenCV 3.4.1 и VS 2017 (также пробовал 2015).

#include "stdafx.h"
#include <opencv2/opencv.hpp>
#include <iostream>


using namespace std;
using namespace cv;

int main()
{
    namedWindow("Video");

    Mat frame1 = imread("Penguins.bmp", CV_LOAD_IMAGE_COLOR ); 

    imshow("Video", frame1);

    system("Pause");

    return 0;


}

заранее спасибо


person Pasha Pashazade    schedule 01.07.2018    source источник


Ответы (1)


Вам нужно использовать функцию waitKey() после imshow(). Вы можете передать параметр задержки, чтобы показать изображение в течение определенного времени (в миллисекундах).

Пример:

#--- It will display the image for 30 ms 
waitKey(30);

#--- It will display the image until a key is pressed
waitKey();

Посетите ЭТУ СТРАНИЦУ, чтобы узнать больше.

Также показан демонстрационный пример ЗДЕСЬ

person Jeru Luke    schedule 01.07.2018