使用 OpenCV 在 Qt 6 应用程序中显示图像

使用 OpenCV 在 Qt 应用程序中显示图像有助于创建利用这两个库的优势的应用程序。OpenCV 可用于对图像执行广泛的操作。处理后的图像可以显示在 Qt 应用程序中,以可视化结果并监控处理进度。通过在 Qt 应用程序中显示计算机视觉算法的结果,我们可以使用户界面更加直观和用户友好。通过将 OpenCV 的图像显示功能与 Qt 的用户界面功能相结合,可以创建功能强大且灵活的应用程序。

本教程提供了如何使用 OpenCV 在 Qt 6 应用程序中显示图像的代码示例。

准备环境

确保您已经在系统上安装了 Qt 和 OpenCV。包管理器vcpkg可用于安装它们。

代码

代码中执行了以下步骤:

  • 使用 OpenCV 加载图像。
  • OpenCV 图像被转换为QImage​​ . 该img.step参数指定图像数据中每行的字节数Matimg.step如果缺少参数,某些图像可能无法显示。因此,img.step有必要将图像数据正确转换为QImage. 由于 OpenCV 以 BGR 顺序存储通道,我们需要QImage::Format_BGR888向构造函数提供格式QImage以使转换正常进行。
  • QPixmapQImage.
  • 最后,QPixmap显示在一个QLabel.
#include <QApplication>
#include <QLabel>
#include <QImage>
#include <opencv2/opencv.hpp>

using namespace cv;

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    Mat img = imread("test.jpg");
    QImage qimg(img.data, img.cols, img.rows, img.step, QImage::Format_BGR888);

    auto *imageLabel = new QLabel();
    imageLabel->setPixmap(QPixmap::fromImage(qimg));
    imageLabel->show();

    return QApplication::exec();
}

版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。

(0)

相关推荐

发表回复

登录后才能评论