2013-04-25 4 views
1

Пожалуйста, посмотрите на следующий кодOpenCV Изображение не показывается

main.cpp

#include <opencv2/highgui/highgui.hpp> 
#include <iostream> 

using namespace cv; 
using namespace std; 

int main() 
{ 
    Mat im = imread("C:/Users/Public/Pictures/Sample Pictures/Koala.jpg"); 
    if (im.empty()) 
    { 
     cout << "Cannot load image!" << endl; 
     return -1; 
    } 
    imshow("Image", im); 
    waitKey(0); 

    return 0; 
} 

Здесь я пытаюсь проверить OpenCV с QT, просто открытие. Обратите внимание, что это мое ОЧЕНЬ ПЕРВЫЙ приложение QT. Тем не менее, программа работает, но нет изображения! Тот же код работает в VS 2010 и правильно отображает изображение. Следующим является единственный выход, который я получаю от QT.

enter image description here

Ниже моя конфигурация QT Project.

Tester.pro

#------------------------------------------------- 
# 
# Project created by QtCreator 2013-04-25T23:36:30 
# 
#------------------------------------------------- 

QT  += core 

QT  -= gui 

TARGET = Tester 
CONFIG += console 
CONFIG -= app_bundle 

TEMPLATE = app 


SOURCES += main.cpp 

INCLUDEPATH += C:\opencv\build\include\ 

LIBS += -LC:\opencv\build\x86\mingw\lib\ 
-lopencv_core240 \ 
-lopencv_highgui240 \ 
-lopencv_imgproc240 \ 
-lopencv_features2d240 \ 
-lopencv_calib3d240 

Пожалуйста, обратите внимание на следующую информацию, а также.

  • Моя ОС - Windows 7 Ultimate
  • QT Creator версия - 2.7.0
  • QT Загруженные из - http://qt-project.org/downloads (Имя файла является: QT-окна-5.0.2-с открытым исходным кодом-mingw47_32-x86-форума)
  • Версия OpenCV - 2.4
  • Версия MinGW - была установлена ​​где-то в 9-м месяце 2012 года. Не знаю, как получить номер версии.

Пожалуйста, помогите, как я могу заставить эту задачу opencv работать правильно?

UPDATE

Я только что проверил EXE-файл, который он построил. Это дает следующее сообщение об ошибке, когда я дважды щелкните на нем

enter image description here

+0

Вы пытались использовать путь без пробелов в нем? – Subway

+0

Я бы также попытался поместить двойные слэши: C: // Users // Public ... вот как я привык делать, когда код должен работать на платформе Windows, одиночные слэши не выполняли работу для меня. – Subway

+0

@Subway: Спасибо за ответ. Я просто попытался. Нет Хорошо вообще –

ответ

1

Эта ошибка означает, что операционная система не смогла найти .DLL, когда была запущена ваша заявка.

Есть 2 способа исправить, что:

  • Расположить и копировать, что .DLL в папке .exe.
  • ИЗМЕНЯЮТ Windows' PATHпеременная окружения и добавить полный путь к этому .DLL. Лучше перезагрузить компьютер после этого изменения.
Смежные вопросы