imread не может найти изображение

Я использую visual studio 2013 и opencv. Я запускаю простой код, который читает изображение и показывает его. Я добавляю изображение в файлы ресурсов моего проекта из файла Donloads. Когда я бегу ниже кода, image.data пустой.

  #include "stdafx.h"#include <opencv2\core\core.hpp>
#include <opencv2\highgui\highgui.hpp>
#include <opencv2\opencv.hpp>int _tmain(int argc, _TCHAR* argv[])
{

cv::Mat image;
image = cv::imread("im.png", CV_LOAD_IMAGE_COLOR);   // Read the file

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

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

cv::waitKey(0);                                          // Wait for a keystroke in the window
return 0;

}

1

Решение

Пытаться : C:\\Users\\pr\\Downloads\\im.png это должно работать, если путь правильный.

2

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

Это потому, что рабочим каталогом по умолчанию в VS является расположение вашего vcxproj файл (значение $(ProjectDir)).

Если вы хотите запустить приложение через VS (т.е. F5 ключ), тогда вы должны перезаписать параметры отладки вашего проекта. Например, вы можете установить в рабочем каталоге приложения местоположение программы (exe), которую создает компоновщик, установив значение Project menu -> Properties -> Configuration properties -> Debugging -> Working directory в $(OutDir),

0

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