Estou com problemas no momento. Estou seguindo as instruções dadas neste livro "OpenCV 2 Computador Vison Programming Cookbook" para a criação de um programa de exibição de imagem simples no OpenCV (2.4.10-1) usando Qt (5.4), QtCreator no Ubuntu 14.04.
O código é o seguinte:
#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;
}
}
E o conteúdo do arquivo .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
O código compila, mas quando eu corro, o programa falha imediatamente. O depurador aponta um SIGSEGV ocorrendo na linha 17: cv::namedWindow("My Image", 1)
Eu não sei o que fazer. Eu tenho outros programas que usam bibliotecas qt e opencv no mesmo computador, mas usei o cmake para construí-los e eles rodam bem. Alguém poderia indicar onde está o problema?
Obrigado antecipadamente