Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';在Qt Creator中使用OpenCV显示图像_Qt_Opencv - Fatal编程技术网

Can';在Qt Creator中使用OpenCV显示图像

Can';在Qt Creator中使用OpenCV显示图像,qt,opencv,Qt,Opencv,项目结果将显示一个包含图片的窗口。但它只是显示一个控制台窗口和消息 “按以关闭此窗口” 不要再展示了。我使用MSCV2010版本运行 我现在能做什么 这是我的.pro: QT += core QT -= gui TARGET = OpenCV CONFIG += console CONFIG -= app_bundle #CONFIG -= qt TEMPLATE = app SOURCES += main.cpp INCLUDEPATH += C

项目结果将显示一个包含图片的窗口。但它只是显示一个控制台窗口和消息

“按以关闭此窗口”

不要再展示了。我使用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
}
我的主要任务是:

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

最后,我发现了我的问题

首先,我在“OpenCV-build-desktop-Qt_4_8_1_for_desktop_-MSVC2010_Qt_SDK___发布\发布”中运行我的项目的可执行文件。我发现,一些dll文件丢失了。我把它们复制到System32文件夹,它成功运行了!是啊

实际上,我将这些dll的路径放入了系统环境中。但它仍然显示它找不到dll文件。发生了什么事?

如果使用imshow(),还需要waitKey(),否则不会显示任何内容。(它不只是等待钥匙之类的东西,整个窗口信息泵都隐藏在那里,因此,没有钥匙就不会闪烁)


快速提示:将
“C:/Desert.jpg”
替换为
“C:\\Desert.jpg”
。是的,我这样做了。但不是什么change@vahanchoOpenCV是否真的需要特定于平台的路径分隔符,并且在Windows上不将
/
转换为
\
?@hyde,老实说,我不确定。感谢各位回答我的问题!最后,我发现了我的问题。你可以在我问题的末尾看到。再次感谢!我也这么做了。但一切都没有改变。
    int main(int argc, char* argv[])
{
    QCoreApplication a(argc, argv);
    Mat image=imread("C:/Desert.jpg");
    imshow("image",image);

    return a.exec();
}
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();
}