The program has unexpectedly finished.
-
Hello Everyone,
This is a very newbie situation, Im doing some tests with QT and OpenCV, first in windows and then i will go to XUbuntu. I have some algorithms that i've tested in VisualStudio, and i need to port them to an Embedded development Board (PandaBoard), for that i'm doing my first steps on QT and until now i only had huge problems.
I've installed "Qt Creator 2.8.1 based on QT 5.1.1", and OpenCV 2.4.6 and after i could finally link the libraries, i'm only getting this error after trying to run my program.
exited with code -1073741819This is the code:
@#-------------------------------------------------
Project created by QtCreator 2013-09-19T22:48:23
#-------------------------------------------------
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = QT-ShowImage
TEMPLATE = appSOURCES += main.cpp
mainwindow.cppHEADERS += mainwindow.h
FORMS += mainwindow.ui
INCLUDEPATH += C:\opencv246\build\include
LIBS += -LC:\opencv246\build\x86\mingw\bin
-lopencv_calib3d246
-lopencv_contrib246
-lopencv_core246
-lopencv_features2d246
-lopencv_flann246
-lopencv_gpu246
-lopencv_highgui246
-lopencv_imgproc246
-lopencv_legacy246
-lopencv_ml246
-lopencv_objdetect246
-lopencv_video246@@#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include <opencv/cv.h>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv/highgui.h>
#include <QFileDialog>namespace Ui {
class MainWindow;
}class MainWindow : public QMainWindow
{
Q_OBJECTpublic:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();protected:
// void changeEvent(QEvent e);
QString FileOpName; //declare FileOpName as IplImage
IplImage imagerd; //declare imagerd as IplImageprivate slots:
void on_pushButton_clicked();
void openImage(); //add a new openImage function to the projectprivate:
Ui::MainWindow *ui;
};#endif // MAINWINDOW_H@
@#include "mainwindow.h"
#include <QApplication>int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();return a.exec();
}
@@#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
//#include <opencv/cv.h>
//#include <opencv/highgui.h>
#include <QPixmap>
#include <QString>
#include <QFileDialog>
#include <QMessageBox>MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}MainWindow::~MainWindow()
{
delete ui;
}void MainWindow::openImage()
{
//declare FileOpName as the choosen opened file name
FileOpName = QFileDialog::getOpenFileName(this,
tr("Open File"),
QDir::currentPath(),
tr("Image Files(*.png *.jpg *.jpeg *.bmp)"));//Check if FileOpenName exist or not //Check if FileOpName exist or not if (!FileOpName.isEmpty()) { QImage image(FileOpName); if (image.isNull()) { QMessageBox::information(this, tr("Face Recognition"), tr("Cannot load %1.").arg(FileOpName)); return; } } //function to load the image whenever fName is not empty if( FileOpName.size() ) { //imagerd = cvLoadImage(FileOpName.; imagerd = cvLoadImage("c:\\image.jpg");//the other way to read path with the QFileDialog wasn't compiling, so for now, just an image from the hard disk QImage imageView = QImage((const unsigned char*)(imagerd->imageData), imagerd->width,imagerd->height,QImage::Format_RGB888).rgbSwapped(); ui->label->setPixmap(QPixmap::fromImage(imageView)); }
}
void MainWindow::on_pushButton_clicked()
{
openImage();
}@ -
Its an "Access violation":http://qt-project.org/forums/viewthread/32620/#142931 exception on windows.
-
quote author="p3c0" date="1379700576"]Its an "Access violation":http://qt-project.org/forums/viewthread/32620/#142931 exception on windows.[/quote]
I'm using an example i found on a Tutorial, and it seems to work normally for the author.
The fact is that it doesnt even show the main window, but when i compile commenting this line
@imagerd = cvLoadImage("c:\image.jpg");@
(which, i was careful enough to copy there)It runs normallly, but off course it doesnt do anything important.
i guess there's still some problems in the libraries and in the linker, but until now i've followed all the guides, and i can't even get to show a single imagen using OPENCV
-
Can you put a check and see it "imagerd" is not NULL after doing cvLoadImage() ?
-
Maybe this one helps you "Qt program exited with code -1073741819":http://stackoverflow.com/questions/14514045/qt-program-exited-with-code-1073741819?rq=1
They are also using Qt and OpenCV libraries -
This are my first step on QT, after several years in other IDE's. I
it seems that i'm not even able to do a debug at this time.I build the app, i put several breakpoints, and when i push Debug, i only get an error stating:
"The inferior stopped because it received a signal from the Operating System
Signal Name: SISSEGT
Signal meaning: Segmentation"I google it a 'lil bit, but i can't find the right way to deal with this. Maybe with your expertise i can find it.
Thanks in advance