Fedora OpenCV with Qt: The program has unexpectedly finished



  • I am trying to configure OpenCV with Qt Creator 2.7.0 (Qt 5.0.2) on Fedora 23 64bit. While executing my program, I get the following error:

    The program has unexpectedly finished. Starting /home/tamercan/build-myfirst2-Desktop_Qt_5_7_0_GCC_64bit-Debug/myfirst2... /home/tamercan/build-myfirst2-Desktop_Qt_5_7_0_GCC_64bit-Debug/myfirst2 crashed.
    This is my main.cpp

    #include <opencv2/core/base.hpp>
    #include <opencv2/core/mat.hpp>
    #include <opencv2/core/types.hpp>
    #include <opencv2/highgui/highgui_c.h>
    #include <opencv2/highgui.hpp>
    #include <opencv2/imgproc.hpp>
    #include <opencv2/objdetect/objdetect_c.h>
    #include <opencv2/objdetect.hpp>
    #include <opencv2/videoio.hpp>
    #include <iostream>
    #include <vector>

    using namespace cv;
    using namespace std;

    int main(int argc, char* argv[])
    {
    VideoCapture cap(0); // open the video camera no. 0

    namedWindow("MyVideo",CV_WINDOW_AUTOSIZE); //create a window called "MyVideo"
    // Load Face cascade (.xml file)
        CascadeClassifier face_cascade;
        face_cascade.load( "xml/haarcascade_frontalface_alt.xml" );
    
    while (1)
    {
        Mat frame;
    
        bool bSuccess = cap.read(frame); // read a new frame from video
    
         if (!bSuccess) //if not success, break loop
        {
             cout << "Cannot read a frame from video stream" << endl;
             break;
        }
         // Detect faces
             std::vector<Rect> faces;
             face_cascade.detectMultiScale( frame, faces, 1.1, 2, 0|CV_HAAR_SCALE_IMAGE, Size(30, 30) );
    
             // Draw circles on the detected faces
             for( int i = 0; i < faces.size(); i++ )
             {
                 Point center( faces[i].x + faces[i].width*0.5, faces[i].y + faces[i].height*0.5 );
                 ellipse( frame, center, Size( faces[i].width*0.5, faces[i].height*0.5), 0, 0, 360, Scalar( 255, 0, 255 ), 4, 8, 0 );
    
    
                     imshow( "Detected Face", frame );
             }
    
    
    
                 //rectangle( frame, center, Size( faces[i].width*2, faces[i].height*2), Scalar( 255, 0, 255 ) );
    
    
    
    
        if (waitKey(30) == 27) //wait for 'esc' key press for 30ms. If 'esc' key is pressed, break loop
       {
            cout << "esc key is pressed by user" << endl;
            break;
       }
    }
    return 0;
    

    }
    My .pro file is

    QT += core
    QT -= gui

    CONFIG += c++11

    TARGET = myfirst2
    CONFIG += console
    CONFIG -= app_bundle

    QMAKE_DEFAULT_INCDIRS="" && make

    TEMPLATE = app

    SOURCES += main.cpp

    INCLUDEPATH += /usr/include/
    LIBS += -L/usr/lib -lopencv_core -lopencv_highgui -lopencv_video -lopencv_videoio -lopencv_


  • Moderators

    @Tamercan How is it related to Qt? Where does it crash? Did you try to debug to see where it crashes?



  • @jsulm I didnt try to debug.When i add opencv library to my project it crashes.it works normally


  • Moderators

    @Tamercan When you should debug to wee where it crashes. This is actually the first thing to do in such a situation.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.