openCV 3.1 imread.empty () — всегда пустой, если относительный путь, разрывается, если нет

Недавно я начал использовать Visual Studio 2015 для работы с OpenCV (руководствуясь учебным руководством), но я не могу заставить это работать. Таким образом, проблема заключается в том, что если я укажу расположение файла относительно (просто используйте «imageName.extens» в качестве аргумента) и запустите программу из VS, image.empty() всегда true, Я пробовал * .jpg, * .bmp, * .png — все то же самое.

Когда я точно указываю местоположение, сохраняя его в строке, оно показывает окно, а затем вылетает. То же самое происходит, когда я запускаю приложение через cmd.
Я читал, что у людей была эта проблема с image.empty() когда они смешивали библиотеки отладки и преобразования, но это не так — я указал библиотеки для отладки и выпуска в листе свойств appriopriate.

У меня больше нет идей, я боролся с этим в течение нескольких дней, я был бы очень признателен за помощь. Я даже обновился с 2.4 до 3.1, думая, что это могло быть проблемой. Не было. Заранее большое спасибо.

Вот код:

#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
#include <iostream>
#include <string>

using namespace cv;
using namespace std;

int main(int argc, char** argv)
{
if (argc != 2)
{
cout << " Usage: display_image ImageToLoadAndDisplay" << endl;
return -1;
}
else if (argc > 1) {
cout << argv[1] << endl;
}

Mat image;
image = imread(argv[1], CV_LOAD_IMAGE_COLOR); // Read the file  IMREAD_COLOR

if (image.empty()) // Check for invalid input
{
cout << "Could not open or find the image" << std::endl;
return -1;
}

namedWindow("Display window", WINDOW_NORMAL); // Create a window for display.
imshow("Display window", image); // Show our image inside it.

//waitKey(0); // Wait for a keystroke in the window - doesnt work
getchar();
getchar();
return 0;
}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]