J'ai configuré OpenCV 3.1.0 dans Eclipse Mars. Ce sont ma configuration,
G ++ inclut: D:/opencv/build/install/include; GCC inclut: D:/opencv/build/install/include
Bibliothèques de liens: libopencv_core310, libopencv_highgui310
Chemin des bibliothèques de l'éditeur de liens: D:/opencv/build/lib (les fichiers de ce répertoire sont comme libopencv_core310.dll.a)
Je reçois une erreur comme celle-ci,
imageRead.cpp:15: undefined reference to `cv::imread(cv::String const&, int)'
Ceci est mon fichier imageRead.cpp,
#include <iostream>
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
using namespace std;
using namespace cv;
int main(int argc, const char** argv) {
Mat img = imread("D:/sample.jpg", CV_LOAD_IMAGE_UNCHANGED);
if (img.empty()) {
cout << "Error: Image cannot be loaded." << endl;
system("pause");
return -1;
}
namedWindow("Image Window", CV_WINDOW_AUTOSIZE);
imshow("Image Window", img);
if (waitKey() == 27) {
return -1;
}
destroyWindow("Image Window");
return 0;
}
Quelqu'un peut-il aider avec cette erreur?
Depuis OpenCV3, la fonction imread réside dans le module imgcodecs. Imread devrait fonctionner une fois que vous avez ajouté le opencv_imgcodecs
bibliothèque à votre projet (note: imgcodecs, pas imcodecs).
Je recommande de lier les bibliothèques suivantes:
opencv_core
opencv_highgui
opencv_imgproc
opencv_imgcodecs
Et dans le fichier .cpp, vous pouvez inclure comme ceci
#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
using namespace std;
using namespace cv;
Ou
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;