After the installation of CodeBlocks and OpenCV, I want to write a simple program to test if OpenCV works properly.
Code is simple:
#include <iostream>
#include "opencv2/opencv.hpp"
using namespace std;
using namespace cv;
int main( int argc, char** argv )
{
String imageName( "~/Pictures/test.jpg" ); // by default
if( argc > 1)
{
imageName = argv[1];
}
Mat image;
image = imread( imageName, IMREAD_COLOR ); // Read the file
if( image.empty() ) // Check for invalid input
{
cout << "Could not open or find the image" << std::endl ;
return -1;
}
namedWindow( "Display window", WINDOW_AUTOSIZE ); // Create a window for display.
imshow( "Display window", image ); // Show our image inside it.
waitKey(0); // Wait for a keystroke in the window
return 0;
}
The key is how to set the following 3:
(1) Include path( Header path )
(2) Library path( Linking path )
(3) Linking so ( Which .so to link with )
Method 1:
Because my OpenCV is managed by pkgconfig, so , Project -> Build options:
In fact :
pkg-config --cflags opencv means "-I/usr/local/include/opencv -I/usr/local/include"
pkg-config --libs opencv means "-L/usr/local/lib -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann -lopencv_core"