Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. The program has unexpectedly finished.
Forum Updated to NodeBB v4.3 + New Features

The program has unexpectedly finished.

Scheduled Pinned Locked Moved General and Desktop
6 Posts 2 Posters 4.1k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Offline
    A Offline
    AleSantaCruz
    wrote on last edited by
    #1

    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 -1073741819

    This 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 = app

    SOURCES += main.cpp
    mainwindow.cpp

    HEADERS += 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_OBJECT

    public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

    protected:
    // void changeEvent(QEvent e);
    QString FileOpName; //declare FileOpName as IplImage
    IplImage
    imagerd; //declare imagerd as IplImage

    private slots:
    void on_pushButton_clicked();
    void openImage(); //add a new openImage function to the project

    private:
    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&#40;&#41;;
    

    }
    @

    @#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();
    }@

    1 Reply Last reply
    0
    • p3c0P Offline
      p3c0P Offline
      p3c0
      Moderators
      wrote on last edited by
      #2

      Its an "Access violation":http://qt-project.org/forums/viewthread/32620/#142931 exception on windows.

      157

      1 Reply Last reply
      0
      • A Offline
        A Offline
        AleSantaCruz
        wrote on last edited by
        #3

        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

        1 Reply Last reply
        0
        • p3c0P Offline
          p3c0P Offline
          p3c0
          Moderators
          wrote on last edited by
          #4

          Can you put a check and see it "imagerd" is not NULL after doing cvLoadImage() ?

          157

          1 Reply Last reply
          0
          • p3c0P Offline
            p3c0P Offline
            p3c0
            Moderators
            wrote on last edited by
            #5

            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

            157

            1 Reply Last reply
            0
            • A Offline
              A Offline
              AleSantaCruz
              wrote on last edited by
              #6

              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

              1 Reply Last reply
              0

              • Login

              • Login or register to search.
              • First post
                Last post
              0
              • Categories
              • Recent
              • Tags
              • Popular
              • Users
              • Groups
              • Search
              • Get Qt Extensions
              • Unsolved