Не удается прочитать изображение в opencv

-4

Я новичок в opencv, и я начинаю составлять простой код для чтения и отображения изображения в gui, я работаю в qt IDE, сначала я обрисовал этот блок кода

#include <opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>

int main()
{
cv::Mat image=cv::imread("image.jpg");
cv::namedWindow("My Image");
cv::imshow("My Image",image);
cv::waitKey(0);
cv::destroyAllWindows();
return 1;
}

Но он отображает белое окно и ошибку в консоли, а затем отображает другое сообщение "не реагирует", а затем перестает работать. Это снимок экрана. Http://pbrd.co/1u2A0ow. Затем я написал еще один код действительности для проверки wheater или нет. изображение читается

int main()
{

Mat image;
cout<<"Size is"<<image.size().height<<","<<image.size().width<<endl;

image=imread("image.jpg");

//Checking first if the image have been read
if(!image.data)
{
cout<<"\n No image has created \n"<<endl;
}

return 1;

}

Он отображает сообщение, что означает, что изображение не читается, поэтому вопрос: как я могу успешно прочитать и загрузить заметку с изображением: изображение в той же папке файла main.cpp http://pbrd.co/1u2Bmj1

спросил(а) 2014-09-18T08:16:00+04:00 5 лет, 6 месяцев назад
0
51

Как вы сказали, следующий код показал вам, что файл не существует:

QFile file("image.jpg");
if(file.exists())
cout<<"\n exist \n"<<endl;
else
cout<<"\n not exist \n"<<endl;

Решение:

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

Например:

cv::Mat image=cv::imread("G:\\2\\qt.jpg");
QFile file("G:\\2\\qt.jpg");
if(file.exists())
cout<<"\n exist \n"<<endl;
else
cout<<"\n not exist \n"<<endl;

Или стиль UNIX:

cv::Mat image=cv::imread("G:/2/qt.jpg");
QFile file("G:/2/qt.jpg");
if(file.exists())
qDebug()<<"\n exist \n"<<endl;
else
qDebug()<<"\n not exist \n"<<endl;

ответил(а) 2014-09-18T09:17:00+04:00 5 лет, 6 месяцев назад
36

кажется, что программа не знает, где находится изображение. Попробуйте включить main.cpp в качестве одной из библиотек, которые программа будет использовать. Таким образом, программа сможет найти и открыть изображение.

ответил(а) 2014-09-18T08:36:00+04:00 5 лет, 6 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема