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. 0namedWindow("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 isQT += core
QT -= guiCONFIG += c++11
TARGET = myfirst2
CONFIG += console
CONFIG -= app_bundleQMAKE_DEFAULT_INCDIRS="" && make
TEMPLATE = app
SOURCES += main.cpp
INCLUDEPATH += /usr/include/
LIBS += -L/usr/lib -lopencv_core -lopencv_highgui -lopencv_video -lopencv_videoio -lopencv_ -
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. 0namedWindow("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 isQT += core
QT -= guiCONFIG += c++11
TARGET = myfirst2
CONFIG += console
CONFIG -= app_bundleQMAKE_DEFAULT_INCDIRS="" && make
TEMPLATE = app
SOURCES += main.cpp
INCLUDEPATH += /usr/include/
LIBS += -L/usr/lib -lopencv_core -lopencv_highgui -lopencv_video -lopencv_videoio -lopencv_ -
@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