[英]imshow error with OpenCV, Qt & Ubuntu
我在Qt 5.3中遇到一个基本程序的问题,这是代码:
主窗口
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <opencv2/opencv.hpp>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
cv::Mat inputImage = cv::imread("/home/isaac/lena.jpg");
if(!inputImage.empty()) cv::imshow("Prueba",inputImage);
}
MainWindow::~MainWindow()
{
delete ui;
}
displayimage.pro
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = displayimage
TEMPLATE = app
INCLUDEPATH += /usr/local/include/opencv
LIBS += -L/usr/local/lib -lopencv_core -lopencv_imgcodecs -lopencv_highgui
SOURCES += main.cpp\
mainwindow.cpp
HEADERS += mainwindow.h
FORMS += mainwindow.ui
这是输出错误:
Starting /home/isaac/workspace/Qt Creator/Prueba/build-displayimage-Desktop_Qt_5_5_0_GCC_64bit-Release/displayimage...
The program has unexpectedly finished.
/home/isaac/workspace/Qt Creator/Prueba/build-displayimage-Desktop_Qt_5_5_0_GCC_64bit-Release/displayimage crashed
我只是看了一张图片并显示,但没有用,也不知道为什么。 如果我发表评论imshow该程序有效。
您的代码在我的机器上正常运行(Ubuntu 15.04,OpenCV 3.0.0,Qt)。 是否放置cv::waitKey(0);
也没有区别cv::waitKey(0);
在cv::imshow
之后。 您在编译OpenCV时启用了WITH_QT
吗?
我曾经也有过一样的问题。 我已经解决了删除构建文件夹并使用以下方法重新构建的问题:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D WITH_OPENGL=ON ..
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.