crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Интеграция QT и OpenCV 2.4.6, Проблема с подключение библиотеки OpenCV совместно с QT
skipy
  опции профиля:
сообщение 31.7.2013, 0:49
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 4
Регистрация: 31.7.2013
Пользователь №: 3891

Спасибо сказали: 0 раз(а)




Репутация:   0  


Система: Windows 7 x64. QT: QT 5.1.0 x32;
компилятор mingw 4.8 x32

в системной переменной PATH прописал путь к папке bin (пути к полученным dll opencv в ходе компиляции)

Запускается D:\qt-workspace\hello_opencv\test3\build-test3-Desktop_Qt_5_1_0_MinGW_32bit-Debug\debug\test3.exe...
Программа неожиданно завершилась.
D:\qt-workspace\hello_opencv\test3\build-test3-Desktop_Qt_5_1_0_MinGW_32bit-Debug\debug\test3.exe завершился с кодом -1073741819

генерировал конфиги при помощи cmake 2.8.11.2 меняя настройки: WITH_OPENGL - enabled, WITH_QT - enabled
процессорные расширения команд sse сверял с утилитой cpu-z

собирал командами mingw32-make
mingw32-make install
ошибок не было

pro-файл:
#-------------------------------------------------
#
# Project created by QtCreator 2013-07-29T15:12:23
#
#-------------------------------------------------

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = test3
TEMPLATE = app


SOURCES += main.cpp\
        mainwindow.cpp

HEADERS  += mainwindow.h

FORMS    += mainwindow.ui
INCLUDEPATH += D:\qt-workspace\libs\opencv\include
INCLUDEPATH += D:\qt-workspace\libs\opencv\include\opencv
INCLUDEPATH += D:\qt-workspace\libs\opencv\include\opencv2

LIBS += D:\\qt-workspace\libs\opencv\lib\libopencv_calib3d246.dll.a
LIBS += D:\\qt-workspace\libs\opencv\lib\libopencv_contrib246.dll.a
LIBS += D:\\qt-workspace\libs\opencv\lib\libopencv_core246.dll.a
LIBS += D:\\qt-workspace\libs\opencv\lib\libopencv_features2d246.dll.a
LIBS += D:\\qt-workspace\libs\opencv\lib\libopencv_flann246.dll.a
LIBS += D:\\qt-workspace\libs\opencv\lib\libopencv_gpu246.dll.a
LIBS += D:\\qt-workspace\libs\opencv\lib\libopencv_highgui246.dll.a
LIBS += D:\\qt-workspace\libs\opencv\lib\libopencv_imgproc246.dll.a
LIBS += D:\\qt-workspace\libs\opencv\lib\libopencv_legacy246.dll.a
LIBS += D:\\qt-workspace\libs\opencv\lib\libopencv_ml246.dll.a
LIBS += D:\\qt-workspace\libs\opencv\lib\libopencv_nonfree246.dll.a
LIBS += D:\\qt-workspace\libs\opencv\lib\libopencv_objdetect246.dll.a
LIBS += D:\\qt-workspace\libs\opencv\lib\libopencv_photo246.dll.a
LIBS += D:\\qt-workspace\libs\opencv\lib\libopencv_stitching246.dll.a
LIBS += D:\\qt-workspace\libs\opencv\lib\libopencv_superres246.dll.a
LIBS += D:\\qt-workspace\libs\opencv\lib\libopencv_ts246.a
LIBS += D:\\qt-workspace\libs\opencv\lib\libopencv_video246.dll.a
LIBS += D:\\qt-workspace\libs\opencv\lib\libopencv_videostab246.dll.a

пробовал брать либы из папки install/lib и использовал укороченный синтаксис с "l" "L", но также эффекта не дало
и прописывал к самим dll в папке bin

пробовал менять описание путей динамических либ (брал собранные под mingw либы из библиотеки):
#OPENCV = D:/opencv
#OPENCV_LIB = $$OPENCV/build/x86/mingw/lib
#INCLUDEPATH += $$OPENCV/build/include/opencv $$OPENCV/build/include
#QMAKE_LIBDIR += $$OPENCV_LIB
##CONFIG(debug, debug|release) {
# LIBS += $$files($$OPENCV_LIB/*241d.lib)
#} else {
#  LIBS += $$files($$OPENCV_LIB/*241.lib)
#}




файл mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>


namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT
    
public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
    
private:
    Ui::MainWindow *ui;
};

#endif // MAINWINDOW_H


файл mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"

#include <opencv2/opencv.hpp>

using namespace cv;

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    Mat image;
    image = cvLoadImage("D:\flowers.jpg");
}

MainWindow::~MainWindow()
{
    delete ui;
}






ps: до этого подключал OpenCV к CodeBlocks без библиотеки QT проблем не было.
Почему необходимо QT: gui приложения предполагаем писать на QT.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
borune
  опции профиля:
сообщение 13.3.2015, 12:26
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 152
Регистрация: 1.1.2011
Пользователь №: 2314

Спасибо сказали: 0 раз(а)




Репутация:   0  


ребят, подскажите, стоит кьют 5.4.1 с MinGW, собрал opencv 2.4.11 делал по этому мануалу. Делаю простенький проект:
Раскрывающийся текст
QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

INCLUDEPATH+=E:\\openCV\\build\\install\\include
INCLUDEPATH+=E:\\openCV\build\include\\opencv

LIBS+=E:\\openCV\\build\\bin\\libopencv_imgproc2411.dll
LIBS+=E:\\openCV\\build\\bin\\libopencv_highgui2411.dll

TARGET = opencv
TEMPLATE = app


SOURCES += main.cpp\
        mainwindow.cpp

HEADERS  += mainwindow.h

FORMS    += mainwindow.ui

main.cpp
Раскрывающийся текст
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
    IplImage *img = cvLoadImage("E:\\Grendizer1.png");
    //cvNamedWindow("Hello, QT! From OpenCV!");
    cvShowImage("Hello, QT! From OpenCV!", img);
    cvWaitKey();
    return 0;
}


собирается, все норм. Но при запуске не может найти dll:


как лечить, помогите пожалста
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 25.11.2024, 17:07