OpenCV 最近在 Qt 中 升级了其显示窗口。它看起来非常好,但是我没有找到任何可能性将它嵌入到现有的 Qt GUI 窗口中。唯一的可能性似乎是创建一个
有没有可能在现有的 GUI 中创建 OpenCV 窗口 内部?我在 OpenCV 论坛上找到的所有内容都是一个未被回答的问题,与我的问题有些相似。
有一个直接的在 Qt 中显示 OpenCV 图像的可能性,但它有两个主要问题:
1. 这涉及逐像素复制图像,速度相当慢。每个像素都有函数调用!(在我的测试应用程序中,如果我从图像创建视频,并在
cvNamedWindow
或 cv::namedWindow
,但它创建了一个独立的浮动窗口。有没有可能在现有的 GUI 中创建 OpenCV 窗口 内部?我在 OpenCV 论坛上找到的所有内容都是一个未被回答的问题,与我的问题有些相似。
有一个直接的在 Qt 中显示 OpenCV 图像的可能性,但它有两个主要问题:
1. 这涉及逐像素复制图像,速度相当慢。每个像素都有函数调用!(在我的测试应用程序中,如果我从图像创建视频,并在
cvNamedWindow
中显示它,即使是多个视频同时运行,它也非常流畅,但是如果我通过IplImage
-> QImage
-> QPixmap
-> QLabel
路线,即使只有一个视频,也会有严重的延迟)
2. 我无法使用cvNamedWindow
的那些漂亮的新控件。
const uchar *qImageBuffer = (const uchar*)mat.data; QImage img(qImageBuffer, mat.cols, mat.rows, mat.step, QImage::Format_RGB888);
当链接的解决方案在我的系统上出现卡顿时,这个解决方案没有。 - vsz