Код:
#include "opencv2/opencv.hpp"
#include <iostream>
using namespace cv;
using namespace std;
int main() {
Mat test = imread("test_img.jpg", IMREAD_UNCHANGED);
if (!test.data) {
cout << "Image not found!" << endl;
return -1;
}
imshow("test", test);
waitKey(0);
}
Пытаюсь сделать просто вывод картинки. Изначально, была проблема в том что в консоль выводилась следующая ошибка (как я понимаю, она обозначает, что картинка пустая)
Error: Assertion failed (size.width>0 && size.height>0) in cv::imshow, file c:\build\master_winpack-build-win64-vc15\opencv\modules\highgui\src\window.cpp, line 352
Я добавил условие чтобы программа не вылетала с ошибкой и удостоверился,что проблема в том, что OpenCV видит картинку как пустую. Условие:
if (!test.data) {
cout << "Image not found!" << endl;
return -1;
}
И с какой бы фотографией я не пробовал, ничего не меняется и картинка не отображается и либо вызывается ошибка, указанная выше, либо отображается моё сообщение "Image not found!" и программа закрывается.
P.S. Так же удостоверился, что картинка, которую пытаюсь отобразить действительно имеет формат .jpg и находиться в корне программы.
Попробуете получить Mat из raw данных. Для этого считайте файл средствами C++, как это сделать обсуждается тут. Далее используйте стандартный конструктор Mat для массива байт
Mat mat(width, height, CV_8UC3, указатель-на-массив-байт);
P.S. Убедитесь, что канальность вашего изображения равна трем (png без прозрачностей или jpg) или поменяйте CV_8UC3 на CV_8UC4
Была идентичная проблема,оказалось, что в свойствах проекта следует разделить библиотеки для конфигураций отладки и релиза.
Во вкладке компоновщик->ввод в дополнительных зависимостях путь до opencv...d.lib указывается только для debug конфигурации,а opencv....lib для release. Я указывал оба файла для всех конфигураций и в моём случае это было причиной ошибки.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Кто пользовался процессором правил Drools? Из того, что я прочитал - это набор ява-библиотек, которые интегрируются в проектПосле чего можно...
Пишу автоматизационный тест, суть такова: открыть приложение, нажать на список городов, сделать скриншот