Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Setting up OpenCV in Qt Creator Ubuntu 12.04

Tags:

c++

opencv

qt

I'm trying to set up OpenCV in Qt Creator and I have some problems. I added the OpenCV path in the Qt Creator .pro file

INCLUDEPATH += /usr/local/include/opencv
LIBS += -L/usr/local/lib \
-lopencv_core \
-lopencv_imgproc \
-lopencv_highgui \
-lopencv_ml \
-lopencv_video \
-lopencv_features2d \
-lopencv_calib3d \
-lopencv_objdetect \
-lopencv_contrib \
-lopencv_legacy \
-lopencv_flann

And I want to read and show image in this code

void MainWindow::on_pushButton_clicked()
{
     cv::Mat matInput = cv::imread("LP.jpg");
     if( matInput.empty())
     {
          std::cout<<"Can't load image "<<std::endl;
     }
     cv::namedWindow("Show");
     cv::imshow("Show", matInput);
     cv::waitKey();
}

When I run my project it shows the following message:

Starting /home/vasan/Qt/build-OpenCVWithQt-Desktop-Debug/OpenCVWithQt...
The program has unexpectedly finished.
/home/vasan/Qt/build-OpenCVWithQt-Desktop-Debug/OpenCVWithQt exited with code 0

like image 837
vasan Avatar asked Jul 30 '13 04:07

vasan


2 Answers

I have also been trying to set up OpenCV for Qt Creator for a few days now. I would recommend you trying the procedure found at

https://code.google.com/p/qt-opencv-multithreaded/wiki/Documentation

It is simple to follow, and it just WORKS. When you get to section 1.3, run any code sample you got at hand. I used:

int main( int argc, char** argv )
{
    if( argc != 2)
    {
     cout <<" Usage: display_image ImageToLoadAndDisplay" << endl;
     return -1;
    }

    Mat image;
    image = imread(argv[1], CV_LOAD_IMAGE_COLOR);   // Read the file
    image = imread("lena.png", CV_LOAD_IMAGE_COLOR);   // Read the file
    if(! image.data )                              // Check for invalid input
    {
        cout <<  "Could not open or find the image" << std::endl ;
        return -1;
    }

    namedWindow( "Display window", CV_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;
}

Hope that helps!

like image 122
Tormod Haugene Avatar answered Sep 17 '22 07:09

Tormod Haugene


It worked for me:

INCLUDEPATH += /usr/local/include/opencv2
LIBS += -L/usr/local/lib
LIBS += -lopencv_core
LIBS += -lopencv_imgproc
LIBS += -lopencv_highgui
LIBS += -lopencv_ml
LIBS += -lopencv_video
LIBS += -lopencv_features2d
LIBS += -lopencv_calib3d
LIBS += -lopencv_objdetect
LIBS += -lopencv_contrib
LIBS += -lopencv_legacy
LIBS += -lopencv_flann
LIBS += -lopencv_nonfree
like image 37
Matheus Laranjeira Avatar answered Sep 19 '22 07:09

Matheus Laranjeira