使用 OpenCV 在 Qt 应用程序中显示图像有助于创建利用这两个库的优势的应用程序。OpenCV 可用于对图像执行广泛的操作。处理后的图像可以显示在 Qt 应用程序中,以可视化结果并监控处理进度。通过在 Qt 应用程序中显示计算机视觉算法的结果,我们可以使用户界面更加直观和用户友好。通过将 OpenCV 的图像显示功能与 Qt 的用户界面功能相结合,可以创建功能强大且灵活的应用程序。
本教程提供了如何使用 OpenCV 在 Qt 6 应用程序中显示图像的代码示例。
准备环境
确保您已经在系统上安装了 Qt 和 OpenCV。包管理器vcpkg
可用于安装它们。
代码
代码中执行了以下步骤:
- 使用 OpenCV 加载图像。
- OpenCV 图像被转换为
QImage
. 该img.step
参数指定图像数据中每行的字节数Mat
。img.step
如果缺少参数,某些图像可能无法显示。因此,img.step
有必要将图像数据正确转换为QImage
. 由于 OpenCV 以 BGR 顺序存储通道,我们需要QImage::Format_BGR888
向构造函数提供格式QImage
以使转换正常进行。 - 是
QPixmap
从QImage
. - 最后,
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 举报,一经查实,本站将立刻删除。