有没有办法拿一个opencv显示窗口并将其保存到GUI窗口?

Is there anyway to take an opencv display window and save it to a GUI window?

本文关键字:窗口 保存 GUI 显示 opencv 一个 有没有      更新时间:2023-10-16

只是一个一般性问题。当我使用 imshow 时,是否可以在 GUI 应用程序(可能是任何 GUI 框架,我只是想知道这是否可能(视图中打开此窗口,而不是出现弹出窗口?

是的,我已经在一个较旧的项目中完成了此操作。我将Qt与c ++一起使用并像这样转换:

QPixmap UIQT::pixmapFromMat(cv::Mat src) {
QImage image(this->imageFromMat(src));
return QPixmap::fromImage(image);
}
QImage UIQT::imageFromMat(cv::Mat src) {
Q_ASSERT(src.type() == CV_8UC3);
return QImage((uchar*)src.data, src.cols, src.rows, 
src.step,QImage::Format_RGB888);
}

将Qt与opencv一起使用非常整洁,但是自从我上次这样做以来已经是几年前了,我想现在更容易了。

可以使用 highgui 设计基于 Windows 的应用程序,highgui 与用于显示弹出窗口的 API 相同。但是我不确定它在设计一个成熟的应用程序时有多强大。

如果你使用的是python,pyqt通常很容易使用。对于 c++,您可以选择 Qt(多平台(、Quartz(Mac,使用 Objective C 或 Swift(等。