0

プロジェクトの結果は、画像を含むウィンドウを表示します。ただし、コンソールウィンドウにメッセージが表示されるだけです

「このウィンドウを閉じるには を押してください qt」

そして、それ以上何も表示しません。MSCV2010 リリースで実行しています。

今何ができますか?

これが私の.proです:

QT       += core

QT       -= gui

TARGET = OpenCV
CONFIG   += console
CONFIG   -= app_bundle
#CONFIG   -= qt

TEMPLATE = app


SOURCES += main.cpp

INCLUDEPATH += C:/opencv/build/include

CONFIG(debug,debug|release){
LIBS += C:/opencv/build/x86/vc10/lib/opencv_core231.lib
LIBS += C:/opencv/build/x86/vc10/lib/opencv_highgui231.lib
LIBS += C:/opencv/build/x86/vc10/lib/opencv_imgproc231.lib
LIBS += C:/opencv/build/x86/vc10/lib/opencv_features2d231.lib
LIBS += C:/opencv/build/x86/vc10/lib/opencv_calib3d231.lib
}

CONFIG(release,debug|release){
LIBS += C:/opencv/build/x86/vc10/lib/opencv_core231.lib
LIBS += C:/opencv/build/x86/vc10/lib/opencv_highgui231.lib
LIBS += C:/opencv/build/x86/vc10/lib/opencv_imgproc231.lib
LIBS += C:/opencv/build/x86/vc10/lib/opencv_features2d231.lib
LIBS += C:/opencv/build/x86/vc10/lib/opencv_calib3d231.lib
}

そして私のメイン():

    int main(int argc, char* argv[])
{
    QCoreApplication a(argc, argv);
    Mat image=imread("C:/Desert.jpg");
    imshow("image",image);

    return a.exec();
}

=======================================

最後に、私は自分の問題を見つけました。

まず、「OpenCV-build-desktop-Qt_4_8_1_for_Desktop_- MSVC2010 _Qt_SDK__Release\release」でプロジェクトの実行ファイルを実行します。そして、いくつかのdllファイルが欠落していることがわかりました。それらをSystem32フォルダーにコピーしたところ、正常に実行されました! うん!

実際には、これらの dll のパスをシステム環境に入れました。しかし、それでもdllファイルが見つからないことを示しています。どうしたの?

4

1 に答える 1

2

imshow() を使用する場合は、waitKey() も必要です。そうしないと、何も表示されません。(キーなどを待つだけでなく、ウィンドウメッセージポンプ全体がそこに隠されているため、それなしではブリッティングはありません)

int main(int argc, char* argv[])
{
    QCoreApplication a(argc, argv);
    Mat image=imread("C:/Desert.jpg");
    imshow("image",image);
    waitKey(0); // wait forever until a key was pressed

    return a.exec();
}
于 2013-09-27T09:17:14.147 に答える