OpenCV 图像未显示

Posted

技术标签:

【中文标题】OpenCV 图像未显示【英文标题】:OpenCV image is not showing 【发布时间】:2013-04-25 19:48:45 【问题描述】:

我正在编写以下代码:

Main.cpp

#include <opencv2/highgui/highgui.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main()

    Mat im = imread("C:/Users/Public/Pictures/Sample Pictures/Koala.jpg");
    if (im.empty())
    
        cout << "Cannot load image!" << endl;
        return -1;
    
    imshow("Image", im);
    waitKey(0);

    return 0;

我正在尝试通过简单地打开图像来使用 QT 测试 OpenCV。这是我的第一个 QT 应用程序。但是,程序运行,却没有图像显示!相同的代码在 VS 2010 中运行并正确显示图像。以下是我从 QT 获得的唯一输出。

以下是我的 QT 项目配置。

Tester.pro

#-------------------------------------------------
#
# Project created by QtCreator 2013-04-25T23:36:30
#
#-------------------------------------------------

QT       += core

QT       -= gui

TARGET = Tester
CONFIG   += console
CONFIG   -= app_bundle

TEMPLATE = app


SOURCES += main.cpp

INCLUDEPATH += C:\opencv\build\include\

LIBS += -LC:\opencv\build\x86\mingw\lib\
-lopencv_core240 \
-lopencv_highgui240 \
-lopencv_imgproc240 \
-lopencv_features2d240 \
-lopencv_calib3d240

这是我正在使用的版本:

我的操作系统 - Windows 7 Ultimate QT Creator 版本 - 2.7.0 QT 下载自-http://qt-project.org/downloads(文件名:qt-windows-opensource-5.0.2-mingw47_32-x86-offline) OpenCV 版本 - 2.4 MinGW 版本 - 在 2012 年 9 月的某个时候安装。不知道如何获取版本号。

我怎样才能使这个 opencv 任务正常工作?

更新

我刚刚检查了它构建的 .exe 文件。当我双击它时它会给出以下错误

【问题讨论】:

您是否尝试使用没有空格的路径? 我也会尝试使用双斜杠:C://Users//Public...当代码应该在 Windows 平台上运行时,我习惯这样做,单斜杠没有为我做这项工作。 @Subway:感谢您的回复。我刚试过。一点都不好 @Subway:反正“路径”就是图片路径吧? 这个路径:C:/Users/Public/Pictures/Sample Pictures/Koala.jpg 所以试着把图片放到C:/Users/Public/Pictures,在代码中引用如下:C://Users//Public//Pictures//Koala.jpg 【参考方案1】:

该错误意味着操作系统在您的应用程序启动时无法找到 .DLL

有两种方法可以解决这个问题:

找到该 .DLL 并将其复制到 .exe 文件夹。 修改 Windows 的 PATH 环境变量 并将完整路径添加到该 .DLL。最好在此更改后重新启动您的机器。

【讨论】:

以上是关于OpenCV 图像未显示的主要内容,如果未能解决你的问题,请参考以下文章

调整大小的 opencv 图像在 QWidget C++ 上未正确显示

图像未在 python OpenCV 中打开 [重复]

OpenCV C++ 相机图像未保存到矩阵

使用 OpenCV 写入 16 位未压缩图像

OpenCV中的基本图像操作

C++/openCV - 为啥显示图像会产生 linux 分段错误? (openCV 错误?)