【发布时间】:2018-10-31 16:15:13
【问题描述】:
只是一个一般性问题。当我使用 imshow 时不会出现弹出窗口,是否可以在 GUI 应用程序(可能是任何 GUI 框架,我只是想知道这是否可能)视图中打开这个窗口?
【问题讨论】:
-
当然,将图像保存到磁盘上的临时名称并使用
os.system()启动 MS-Paint 或类似的东西。
标签: python c++ opencv graphics computer-vision
只是一个一般性问题。当我使用 imshow 时不会出现弹出窗口,是否可以在 GUI 应用程序(可能是任何 GUI 框架,我只是想知道这是否可能)视图中打开这个窗口?
【问题讨论】:
os.system() 启动 MS-Paint 或类似的东西。
标签: python c++ opencv graphics computer-vision
可以使用 highgui 设计一个基于窗口的应用程序,与您用于显示弹出窗口的 api 相同。但在设计成熟的应用程序时,我不确定它有多强大。
如果您使用的是 python,pyqt 通常很容易使用。对于 c++,您可以选择 Qt(多平台)、Quartz(Mac,使用 Objective C 或 Swift)等。
【讨论】:
是的,我在一个较旧的项目中做过这个。我将 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 一起使用非常好,但自从我上次这样做以来已经是几年前了,我想现在更容易了。
【讨论】: