C++ 使用OpenCV、Qt&;显示错误;Ubuntu
我对Qt 5.3中的basic程序有问题,代码如下: main window.cppC++ 使用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
#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,列:512QImage imgIn=QImage((uchar*)img.data,img.Cols,img.Rows,img.step,QImage::Format_RGB888)我想是的,但我不确定。重建需要什么?我正在使用_qtactivate进行编译,并收到相同的错误。您是否已删除计算机上的所有旧版本?我被这个问题困扰了很长一段时间,因为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 ..