C++ 使用OpenCV、Qt&;显示错误;Ubuntu

C++ 使用OpenCV、Qt&;显示错误;Ubuntu,c++,qt,opencv,ubuntu,C++,Qt,Opencv,Ubuntu,我对Qt 5.3中的basic程序有问题,代码如下: main window.cpp #include "mainwindow.h" #include "ui_mainwindow.h" #include <opencv2/opencv.hpp> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(thi

我对Qt 5.3中的basic程序有问题,代码如下:

main window.cpp

#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;
}
这是输出错误:

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

我只是看了一张图片和一个节目,但不起作用,也不知道为什么。如果我对我的机器(Ubuntu 15.04,OpenCV 3.0.0,Qt)进行注释,说明程序运行正常。

您的代码在我的机器上运行良好。同样,您是否放置
cv::waitKey(0)也没有区别cv::imshow
之后编码>或不编码。
在编译OpenCV时,您是否使用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 ..

您可能还有其他调试错误。。把它们寄出去。您可能还需要
waitKey(0)
imshow
之后。我添加了这个,程序仍然显示相同的错误,我没有其他错误,只有这个。在imread之后打印img尺寸
inputImage.rows
inputImage.cols
如果我未注释imshow,则输出是相同的错误,但如果我注释imshow,则输出是:Starting/home/isaac/workspace/Qt Creator/Prueba/build-displayimage-Desktop\u Qt\u 5\u 5\u 0\u GCC\u 64位释放/displayimage。。。行:512,列:512
QImage imgIn=QImage((uchar*)img.data,img.Cols,img.Rows,img.step,QImage::Format_RGB888)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 ..