Простая программа OpenCV вылетает

У меня сейчас проблема. Я следую инструкциям, приведенным в этой книге "Руководство по программированию приложений OpenCV 2 Computer Vison" для создания простой программы отображения изображений в OpenCV (2.4.10-1) с использованием Qt(5.4), QtCreator в Ubuntu 14.04.

Код выглядит следующим образом:

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

int main() {
    // read an image
    cv::Mat image = cv::imread("${PATH_TO_HOME}/Pictures/bottle_label.jpg");

    if ( image.data == NULL )    {
        std::cout << "no data loaded" << std::endl;
        return -1;
    }
    else {
        // create image window named "My image"
        cv::namedWindow("My Image", 1);
        // show the image on window
        std::cout << "Image loaded" << std::endl;
        cv::imshow("My Image", image);
        // wait key for 5000 ms
        cv::waitKey(5000);

        return 0;
    }
}

И содержимое файла.pro

# Standard .pro content for qt console application #
INCLUDEPATH += /usr/local/include/

LIBS += -L/usr/local/lib \
        -lopencv_core  -lopencv_highgui -lopencv_imgproc -lopencv_features2d -lopencv_calib3d

Код компилируется, но когда я его запускаю, программа немедленно падает. Отладчик указывает SIGSEGV, встречающийся в строке 17: cv::namedWindow("My Image", 1)Я не знаю что делать У меня есть другие программы, которые используют библиотеки qt и opencv на том же компьютере, но использовали cmake для их сборки, и они работают нормально. Может кто-нибудь указать, где проблема?

заранее спасибо

0 ответов

Другие вопросы по тегам