Can't access image (.jpeg) folder in main() using OpenCV
-
wrote on 14 Feb 2021, 11:30 last edited by
Hi it seems like in main() I can't access the image folder using OpenCV functions even though OpenCV libraries are linked correctly and the folder path is right. How can I fix it?
int main(int argc, char *argv[]) { vector<cv::String> fn; cv::glob("/home/csimage/project/images/*", fn, false); vector<cv::Mat> imagesResized; size_t count = fn.size(); for (size_t i=0; i<count; i++) { //resize images to the same size cv::Mat dst; cv::Mat src =cv::imread(fn[i]); cv::resize(src,dst,cv::Size(20,20)); imagesResized.push_back(dst); } //I GET THE FIRST ERROR HERE WHEN IT TRIES TO READ THE IMAGES cv::Mat inputImage=cv::imread("/home/csimage/project/church.JPEG"); vector<cv::Mat> imageTiles= split(inputImage,40,40); cv::Mat matchingImage; vector<cv::Mat> final; for ( int i=0;i<imageTiles.size();i++) { matchingImage=comparer(imageTiles[i],imagesResized); final.push_back(matchingImage);} cv::Mat image_collage= imageCollage(final,40,40); imshow("Image collage",image_collage); cv::waitKey(0); return 0; }4
-
Hi
Are you sure the file extension is JPEG with big letters ?Also you dont mention what error you get?
-
Hi
Are you sure the file extension is JPEG with big letters ?Also you dont mention what error you get?
-
@mrjj Hi, sorry I could't insert the image with the error before, actually the first error is at cv::imread(fn[i]) which tries to do the same thing, here's the photo
-
@georgiav
So these are linker errors for the methods shown. Either you're not linking with the right library (most likely), or just possibly you're passing the wrong parameters. -
@JonB I had the problem with linking the libraries before and it's been solved, I don't have errors like 'Mat object undefined' and the paths should be fine as the same program works fine when run from a shell
@georgiav
Hi
So exact same source and .pro file can be compiled and run when compiling in shell
but in Creator you get undefined errors? -
@georgiav
Hi
So exact same source and .pro file can be compiled and run when compiling in shell
but in Creator you get undefined errors?wrote on 14 Feb 2021, 12:40 last edited by georgiav@mrjj Just the c++ file with the program which is supposed to be a photo collage , not the qt part. I fixed the .pro file for one library name was spelled wrong sorry about that, and now it works but I only get an empty MainWindow
-
@JonB I had the problem with linking the libraries before and it's been solved, I don't have errors like 'Mat object undefined' and the paths should be fine as the same program works fine when run from a shell
wrote on 14 Feb 2021, 12:47 last edited by JonB@georgiav said in Can't access image (.jpeg) folder in main() using OpenCV:
I had the problem with linking the libraries before and it's been solved,
What "has been solved"?
I don't have errors like 'Mat object undefined'
No, instead you have "undefined reference" at link time on some cv functions.
and the paths should be fine as the same program works fine when run from a shell
What program? The errors show that you cannot link the executable. So no "program" is being generated in this build. If you have something you linked before, you have some other (successfully-linked, maybe library search path was different, or other difference) executable elsewhere, not the one not-generated from this link.
-
@georgiav said in Can't access image (.jpeg) folder in main() using OpenCV:
I had the problem with linking the libraries before and it's been solved,
What "has been solved"?
I don't have errors like 'Mat object undefined'
No, instead you have "undefined reference" at link time on some cv functions.
and the paths should be fine as the same program works fine when run from a shell
What program? The errors show that you cannot link the executable. So no "program" is being generated in this build. If you have something you linked before, you have some other (successfully-linked, maybe library search path was different, or other difference) executable elsewhere, not the one not-generated from this link.
-
Isn't there a forum for OpenCV out there? Or what is the relation to Qt here?
-
Isn't there a forum for OpenCV out there? Or what is the relation to Qt here?
wrote on 14 Feb 2021, 13:20 last edited by@Christian-Ehrlicher since the program works fine using just OpenCV and it doesn't work when trying to run it in QT I thought it's more likely to be a Qt problem rather than an Opencv one. Maybe there are specific things to add in the .pro file or other settings I'm not aware of since I'm new to Qt.
-
@Christian-Ehrlicher since the program works fine using just OpenCV and it doesn't work when trying to run it in QT I thought it's more likely to be a Qt problem rather than an Opencv one. Maybe there are specific things to add in the .pro file or other settings I'm not aware of since I'm new to Qt.
@georgiav
Hi
But the code you have shown in the first post does nothing with MainWindow ( or even has one)
So what is the thing that doesn't work ?
What should been on the MainWindow ?
and how did you add it ? -
@georgiav
Hi
But the code you have shown in the first post does nothing with MainWindow ( or even has one)
So what is the thing that doesn't work ?
What should been on the MainWindow ?
and how did you add it ?wrote on 14 Feb 2021, 13:38 last edited by@mrjj Hi, I think those were the mainwindow.cpp and mainwindow.h files that were already there when I created the project but I didn't add anything in them so I just removed them and tried to run again and now I get this :
but unfortunately I don't understand where those errors come from
-
@Christian-Ehrlicher since the program works fine using just OpenCV and it doesn't work when trying to run it in QT I thought it's more likely to be a Qt problem rather than an Opencv one. Maybe there are specific things to add in the .pro file or other settings I'm not aware of since I'm new to Qt.
Lifetime Qt Championwrote on 14 Feb 2021, 13:43 last edited by Christian Ehrlicher@georgiav said in Can't access image (.jpeg) folder in main() using OpenCV:
Since the program works fine using just OpenCV and it doesn't work when trying to run it in QT I thought it's more likely to be a Qt problem rather than an Opencv
Your code does not use any Qt class at all...
-
@georgiav said in Can't access image (.jpeg) folder in main() using OpenCV:
Since the program works fine using just OpenCV and it doesn't work when trying to run it in QT I thought it's more likely to be a Qt problem rather than an Opencv
Your code does not use any Qt class at all...
wrote on 14 Feb 2021, 13:49 last edited by@Christian-Ehrlicher I'm trying to create a GUI for my program but first the c++ program should run fine , right?
-
Hi
I wonder if you need to link additional libs
besides opencv_core
like opencv_imgcodecs -
wrote on 14 Feb 2021, 14:40 last edited by
Hi, no, I figure it out what it was , I didn't write QApplication a(argc, argv); at the beginning in the main function. Now it works fine ! Thank you anyway for trying to help.
-
Hi, no, I figure it out what it was , I didn't write QApplication a(argc, argv); at the beginning in the main function. Now it works fine ! Thank you anyway for trying to help.
Oh so after you added that all the other errors went away ?
well good it works :)
happy coding
1/18