У меня в настоящее время есть проблема. Я следую инструкциям, данным в этой книге "компьютер OpenCV 2 Поваренная книга Прикладного программирования 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 для создания их и они хорошо работают. Кто-то мог указать, где проблема?
Заранее спасибо