Форум программистов, компьютерный форум, киберфорум
C++: OpenCV
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.72/29: Рейтинг темы: голосов - 29, средняя оценка - 4.72
1 / 1 / 1
Регистрация: 05.09.2013
Сообщений: 32

Не запускается программа при подключенном OpenCV

29.09.2013, 22:26. Показов 6109. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток!

При создании программы наткнулся на проблему. Мне необходимо подключить OpenCV, работаю я в Qt.

Вроде бы распаковал, подключил.. Но программа при дебаге вылетает с такой вот информацией:
Запускается C:\QTProjects\second-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK_________\debug\second .exe...
Программа неожиданно завершилась.
C:\QTProjects\second-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK_________\debug\second .exe завершился с кодом -1073741511

OpenCV я распаковал в D:/OpenCV, версия 2.4.6.0, вот код, который я добавил в .pro файл:
C++ (Qt)
1
2
3
4
INCLUDEPATH += D:/OpenCV/build/include
NCLUDEPATH += D:/OpenCV/build/include/opencv
 
LIBS += -L"D:/OpenCV/build/x86/mingw/lib/" -lopencv_core246 -lopencv_imgproc246 -lopencv_highgui246
и код, добавленный в .cpp файл:
C++ (Qt)
1
2
#include <opencv/cv.h>
#include <opencv/highgui.h>
В системную переменную Path тоже добавил нужную строчку..
Программа вылетает при любом использовании cv. Например:
C++ (Qt)
1
cv::Mat mt(640, 480, CV_8UC3);
Может кто сталкивался и решал эту проблему? буду очень признателен, надо безумно срочно!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.09.2013, 22:26
Ответы с готовыми решениями:

БП не запускается при подключенном 4pin CPU
В общем проблема довольно странная. Блок питания отказывается запускаться, если к мат. плате подключено питание процессора (jpw1)...

Не запускается openCV на андройде
Переношу программу на джаве по распознаванию лиц на андройд. Работаю в Android Studio. Пытаюсь запустить класс Train с таким кодом: ...

При добавлении внешней библиотеки программа не запускается
Здравствуйте! Проблема в том, что после того, как я добавил внешнюю DLL к проекту, откомпилировал и скинул другу на ПК - у него...

24
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
29.09.2013, 23:02
Вероятно надо в *.pro библиотеки указать для линковки другие ?

Для MinGW полагаю файлы будут расширения *.so , *.a они есть пакете OpenCV ?
0
1 / 1 / 1
Регистрация: 05.09.2013
Сообщений: 32
29.09.2013, 23:23  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
Вероятно надо в *.pro библиотеки указать для линковки другие ?

Для MinGW полагаю файлы будут расширения *.so , *.a они есть пакете OpenCV ?
Насчет библиотек - возможно. попробую другие подключить.
А насчет *.so и *.a, *.so я вообще не видел, а расширение .a имеют все файлы папки D:\OpenCV\build\x86\mingw\lib. Кроме них там лишь есть файлик OpenCVConfig.cmake.

Спасибо!
0
 Аватар для MastAKK
148 / 139 / 18
Регистрация: 13.10.2012
Сообщений: 592
29.09.2013, 23:59
Ну есть 2 варианта:
1) .dll в path есть? Или в папке с проектом?
2) У меня такая хрень была, очистите и снова соберите проект в релиз, может помочь

Добавлено через 2 минуты
И ещё, после -L кавычки не нужны:
-LD:\папка\с\лмбами -lимя_либы_без_lib
0
1 / 1 / 1
Регистрация: 05.09.2013
Сообщений: 32
30.09.2013, 00:23  [ТС]
Цитата Сообщение от MastAKK Посмотреть сообщение
Ну есть 2 варианта:
1) .dll в path есть? Или в папке с проектом?
2) У меня такая хрень была, очистите и снова соберите проект в релиз, может помочь

Добавлено через 2 минуты
И ещё, после -L кавычки не нужны:
-LD:\папка\с\лмбами -lимя_либы_без_lib
в Path я вот что добавил: D:\OpenCV\build\x86\mingw\bin\
Насчет ковычек - оперался на тутор с ютуба, там у человекка всё работает: http://www.youtube.com/watch?v=dgcXYQijV6c
И, кстати! Я же исправил по тому тутору очень много, теперь у меня другая ошибка...
вот код .pro файла:
C++ (Qt)
1
2
INCLUDEPATH += "D:\OpenCV\build\include"
LIBS += -L"D:\OpenCV\build\x86\mingw\bin\*.dll"
вот измененные инклюды из исходника:
C++ (Qt)
1
2
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
И теперь, если просто написать
C++ (Qt)
1
cv::Mat image;
, то всё компилируется и запускается, но стоит мне попробовать загрузить в матрицу картинку (
C++ (Qt)
1
image = cv::imread("C:\\test.jpg");
), как сразу вылетает 15 ошибок, вот некоторые из них:
C:\QTProjects\second\images.cpp:-1: ошибка: undefined reference to `cv::imread(std::string const&, int)'
C:\QTProjects\second\images.cpp:-1: ошибка: undefined reference to `cv::Mat::copySize(cv::Mat const&)'
C:\QTProjects\second\images.cpp:-1: ошибка: undefined reference to `cv::fastFree(void*)'
и так далее...
0
 Аватар для MastAKK
148 / 139 / 18
Регистрация: 13.10.2012
Сообщений: 592
30.09.2013, 00:36
Boosty931, нужно подключать .a библиотеки, они в папке \lib\

Добавлено через 2 минуты
Code
1
LIBS += -L"D:\OpenCV\build\x86\mingw\lib\*.a" #типа того
0
1 / 1 / 1
Регистрация: 05.09.2013
Сообщений: 32
30.09.2013, 00:38  [ТС]
Цитата Сообщение от MastAKK Посмотреть сообщение
Boosty931, нужно подключать .a библиотеки, они в папке \lib\

Добавлено через 2 минуты
Code
1
LIBS += -L"D:\OpenCV\build\x86\mingw\lib\*.a" #типа того
До просмотра того видео у меня именно так и было..

Написал так, как Вы сказали.. Ничего не изменилось, всё те же ошибки.
0
 Аватар для MastAKK
148 / 139 / 18
Регистрация: 13.10.2012
Сообщений: 592
30.09.2013, 00:42
Boosty931, у меня есть qt проект с опенцв, завтра после учебы найду и посмотрю как у меня. Отпишусь здесь
0
1 / 1 / 1
Регистрация: 05.09.2013
Сообщений: 32
30.09.2013, 00:46  [ТС]
Цитата Сообщение от MastAKK Посмотреть сообщение
Boosty931, у меня есть qt проект с опенцв, завтра после учебы найду и посмотрю как у меня. Отпишусь здесь
Спасибо, буду ждать!
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
30.09.2013, 01:10
Расширение ставить не надо, кавычки обычно ставятся если есть пробелы в пути.
0
 Аватар для FoxArGon
16 / 16 / 1
Регистрация: 21.05.2012
Сообщений: 83
30.09.2013, 08:44
Цитата Сообщение от Boosty931 Посмотреть сообщение
в Path я вот что добавил: D:\OpenCV\build\x86\mingw\bin\
Насчет ковычек - оперался на тутор с ютуба, там у человекка всё работает: http://www.youtube.com/watch?v=dgcXYQijV6c
И, кстати! Я же исправил по тому тутору очень много, теперь у меня другая ошибка...
вот код .pro файла:
C++ (Qt)
1
2
INCLUDEPATH += "D:\OpenCV\build\include"
LIBS += -L"D:\OpenCV\build\x86\mingw\bin\*.dll"
вот измененные инклюды из исходника:
C++ (Qt)
1
2
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
И теперь, если просто написать
C++ (Qt)
1
cv::Mat image;
, то всё компилируется и запускается, но стоит мне попробовать загрузить в матрицу картинку (
C++ (Qt)
1
image = cv::imread("C:\\test.jpg");
), как сразу вылетает 15 ошибок, вот некоторые из них:
C:\QTProjects\second\images.cpp:-1: ошибка: undefined reference to `cv::imread(std::string const&, int)'
C:\QTProjects\second\images.cpp:-1: ошибка: undefined reference to `cv::Mat::copySize(cv::Mat const&)'
C:\QTProjects\second\images.cpp:-1: ошибка: undefined reference to `cv::fastFree(void*)'
и так далее...
криво библиотеки подключены, можно *.pro файл увидеть, и строка из Path лишней не будет
0
1 / 1 / 1
Регистрация: 05.09.2013
Сообщений: 32
30.09.2013, 11:26  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
Расширение ставить не надо, кавычки обычно ставятся если есть пробелы в пути.
Спасибо. Но тут дело похоже что уже не в .pro файле, а в исходнике. В include надо наверное еще что-то добавить.. Потому что в вайле highgui.hpp я нашел только прототип функции imread, где она сама - не знаю.
Вот что я нашел в highgui.hpp:
C++ (Qt)
1
CV_EXPORTS_W Mat imread( const string& filename, int flags=1 );
Добавлено через 57 минут
Цитата Сообщение от FoxArGon Посмотреть сообщение
криво библиотеки подключены, можно *.pro файл увидеть, и строка из Path лишней не будет
Что значит можно *.pro файл увидеть?
Строку в Path я оставил, ее я не трогал.
Если это вопрос, то вот еще раз код .pro файла:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
QT       += core gui
 
TARGET = second
TEMPLATE = app
 
 
SOURCES += main.cpp\
        images.cpp
 
HEADERS  += images.h
 
FORMS    += images.ui
 
INCLUDEPATH += D:\OpenCV\build\include
 
LIBS += -LD:\OpenCV\build\x86\mingw\lib\
Вот путь из Path: что-то_там_всякая_фигня; D:\OpenCV\build\x86\mingw\bin\
А как подключить библиотеки не "криво"?
0
 Аватар для FoxArGon
16 / 16 / 1
Регистрация: 21.05.2012
Сообщений: 83
30.09.2013, 11:39
C++ (Qt)
1
2
3
4
INCLUDEPATH  += C:\\OpenCV243\\pro\\install\\include
 
LIBS += -LC:\\OpenCV243\\pro\\install\\lib\\libopencv_contrib243d.dll.a \
+ else libs
Собранная библиотека находится в папке "pro"

Path:
C:\openCV243\pro\install\lib\;C:\Qt\Qt5. 0.1\Tools\MinGW\bin\;
0
1 / 1 / 1
Регистрация: 05.09.2013
Сообщений: 32
30.09.2013, 11:47  [ТС]
Цитата Сообщение от FoxArGon Посмотреть сообщение
C++ (Qt)
1
2
3
4
INCLUDEPATH  += C:\\OpenCV243\\pro\\install\\include
 
LIBS += -LC:\\OpenCV243\\pro\\install\\lib\\libopencv_contrib243d.dll.a \
+ else libs
Собранная библиотека находится в папке "pro"

Path:
C:\openCV243\pro\install\lib\;C:\Qt\Qt5. 0.1\Tools\MinGW\bin\;
У меня нет папки pro, версия OpenCV другая и Qt кстати тоже.
У меня OpenCV версии 2.4.6.0.
0
 Аватар для FoxArGon
16 / 16 / 1
Регистрация: 21.05.2012
Сообщений: 83
30.09.2013, 12:04
Цитата Сообщение от Boosty931 Посмотреть сообщение
У меня нет папки pro, версия OpenCV другая и Qt кстати тоже.
У меня OpenCV версии 2.4.6.0.
И что? Вы распаковываете библиотеку OpenCV в любой каталог, в нем же создаете папку для переформированных фалов CMake для среды Qt(в моем случае "pro"). MinGW берете из Tools Вашей версии Qt. Подключаете библиотеки и прописываете пути в Path.
C++ (Qt)
1
2
3
4
5
6
7
#include<opencv/cv.h>
#include<opencv/highgui.h>
...
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/core/core.hpp>
#include<opencv2/imgproc/imgproc.hpp>
#include<opencv2/video/tracking.hpp>
и все отлично работатет
0
1 / 1 / 1
Регистрация: 05.09.2013
Сообщений: 32
30.09.2013, 12:36  [ТС]
Цитата Сообщение от FoxArGon Посмотреть сообщение
И что? Вы распаковываете библиотеку OpenCV в любой каталог, в нем же создаете папку для переформированных фалов CMake для среды Qt(в моем случае "pro"). MinGW берете из Tools Вашей версии Qt. Подключаете библиотеки и прописываете пути в Path.
C++ (Qt)
1
2
3
4
5
6
7
#include<opencv/cv.h>
#include<opencv/highgui.h>
...
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/core/core.hpp>
#include<opencv2/imgproc/imgproc.hpp>
#include<opencv2/video/tracking.hpp>
и все отлично работатет
Эх.. Мне наверное подробнее надо объяснить, откуда берется папка install внутри "pro" и т.д..
Куча cmake файлов у меня лежит внутри папки cmake..
0
 Аватар для FoxArGon
16 / 16 / 1
Регистрация: 21.05.2012
Сообщений: 83
30.09.2013, 13:05
как я формировал либы, подробнее:
1) скачал cmake
2) запустил, выбрал входную папку c:\openCV243, а выходную создал с именем C:\opencv243\pro
3) Configure указал MinGW Makefiles
4) указал пути компиляторов (в версии Qt 5.0.1 они лежат в папке tools\MinGW\bin) - использовал т.к. для этой версии нужен GCC версии > 4.6 (как я понял в тулсах лежит 4.7.3.2 версия)
5) нажал Finish
6) Установил отметку With_QT и переконфигурировал еще онин раз
7) Указал qmake из папки Qt (у меня он находится C:\Qt\Qt5.0.1\5.0.1\mingw47_32\bin\)
8) переконфигурировал и сгенерировал
9) закрыл Cmake
10) запустил CMD меню
11) перешел в созданную в п.2 папку (cd C:\opencv243\pro)
12) прописал mingw32-make и ожидал конца формирования... (~10 мин)
13) по окончанию прописал mingw32-make install
14) прописал exit
15) поменял PATH на C:\openCV243\pro\install\bin\; C:\Qt\Qt5.0.1\5.0.1\mingw47_32\bin\
1
1 / 1 / 1
Регистрация: 05.09.2013
Сообщений: 32
30.09.2013, 15:59  [ТС]
Цитата Сообщение от FoxArGon Посмотреть сообщение
как я формировал либы, подробнее:
1) скачал cmake
2) запустил, выбрал входную папку c:\openCV243, а выходную создал с именем C:\opencv243\pro
3) Configure указал MinGW Makefiles
4) указал пути компиляторов (в версии Qt 5.0.1 они лежат в папке tools\MinGW\bin) - использовал т.к. для этой версии нужен GCC версии > 4.6 (как я понял в тулсах лежит 4.7.3.2 версия)
5) нажал Finish
6) Установил отметку With_QT и переконфигурировал еще онин раз
7) Указал qmake из папки Qt (у меня он находится C:\Qt\Qt5.0.1\5.0.1\mingw47_32\bin\)
8) переконфигурировал и сгенерировал
9) закрыл Cmake
10) запустил CMD меню
11) перешел в созданную в п.2 папку (cd C:\opencv243\pro)
12) прописал mingw32-make и ожидал конца формирования... (~10 мин)
13) по окончанию прописал mingw32-make install
14) прописал exit
15) поменял PATH на C:\openCV243\pro\install\bin\; C:\Qt\Qt5.0.1\5.0.1\mingw47_32\bin\
Спасибо! Но, думаю, я уже скачал всё готовое, потому что я качал .exe файл с официального сайта. Наверняка у меня есть все эти файлы, просто я не знаю где они лежат((
Попробую разобраться..
0
 Аватар для MastAKK
148 / 139 / 18
Регистрация: 13.10.2012
Сообщений: 592
30.09.2013, 19:28
Цитата Сообщение от Boosty931 Посмотреть сообщение
Но, думаю, я уже скачал всё готовое, потому что я качал .exe файл с официального сайта
готовое не значит рабочее
Вот мой .pro:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
TEMPLATE = app
CONFIG += console
CONFIG -= qt
 
SOURCES += main.cpp
 
INCLUDEPATH += C:/opencv220/include
INCLUDEPATH += C:/opencv220/include/opencv
INCLUDEPATH += C:/opencv220/3rdparty/videoInput/include
 
LIBS += C:/opencv220/lib/*.a -LC:/opencv220/lib/
И библиотеки желательно самому скомпилить. Если у вас последняя версия Qt, могу скинуть рабочие библиотеки, пишите в лс
0
30.09.2013, 21:18

Не по теме:

Сборки Qt для MinGW нет, попробовал для VC++ с OpenCV2.2 все нормально работает вроде.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.09.2013, 21:18
Помогаю со студенческими работами здесь

В архиве программа запускается, а при распаковке -- нет
Скачал я программу makehuman с официального сайта http://www.makehuman.org/ она там идет запакована в архив... скачал архив,...

При запуске компьютера запускается программа «Блокнот»
Всем доброго здоровья. Хотел помочь другу, но что то не срослось.При запуске компьютера запускается программа «Блокнот» со следующим...

Нет интернета при подключенном wi-fi
Всем доброго времени суток. Столкнулся с такой проблемой. РОутер NETGEAR WNR612 и устройство на андроиде (sony experia sola) подключаются...

Комп не загружается при подключенном ЖД
Поработал Acronis, мать бы его так! Произвел бэкап и теперь загрузка не стартует ни с чего когда подключен хард. С дисковода...

Фонит колонка при подключенном ноутбуке
Прошу помощи с проблемой. Аппаратура соединяется так: ноутбук-&gt;микшер-&gt;усилитель-&gt;колонка. При подключенной зарядке от ноутбука идёт...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru