繁体   English   中英

OpenCV,Qt和Ubuntu的imshow错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM