Не могу прочитать изображение в opencv

Я новичок в opencv, и я начинаю делать простой код для чтения и отображения изображения в графическом интерфейсе, я работаю в 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
Затем я написал другой код достоверности, чтобы проверить, читается ли изображение.

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

-1

Решение

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

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;
1

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

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

0

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