QT调用opencv的imshow函数后异常退出


int main(int argc, char *argv[])
{
   QApplication a(argc, argv);
    MainWindow w;
    w.show();
    Mat image = imread("/home/milk/number/img_1.jpg",0);//Mat(hight1,width1,CV_8UC1);//.clone();
    imshow("suoxiao1",image);
    waitKey(0);
    return a.exec();
}

这是主函数,如果把 QApplication a(argc, argv);及其相关注释调,单独运行opencv的程序没有问题,如果加上qt的窗口控件,就会异常退出,经过排查就只有在运行imshow函数的时候才会异常退出,pro文件配置如下,问题会是什么呢?

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

CONFIG += c++11
CONFIG += c++11 console
# You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

LIBS += -L/usr/local/lib \
 -lopencv_core \
 -lopencv_highgui \
 -lopencv_imgproc \
 -lopencv_videoio \
 -lopencv_imgcodecs \
 -lopencv_dnn \
 -lopencv_ml \
 -lopencv_objdetect \
 -lopencv_shape \
 -lopencv_stitching \
 -lopencv_superres \
 -lopencv_videostab \
 -lopencv_calib3d \
 -lopencv_features2d \
 -lopencv_video \
 -lopencv_photo \
 -lopencv_flann

INCLUDEPATH += /usr/local/include

SOURCES += \
    main.cpp \
    mainwindow.cpp

HEADERS += \
    mainwindow.h

FORMS += \
    mainwindow.ui