【问题标题】:Is there anyway to take an opencv display window and save it to a GUI window?反正有一个opencv显示窗口并将其保存到GUI窗口吗?
【发布时间】:2018-10-31 16:15:13
【问题描述】:

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

【问题讨论】:

  • 当然,将图像保存到磁盘上的临时名称并使用os.system() 启动 MS-Paint 或类似的东西。

标签: python c++ opencv graphics computer-vision


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    是的,我在一个较旧的项目中做过这个。我将 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 一起使用非常好,但自从我上次这样做以来已经是几年前了,我想现在更容易了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-31
      • 2017-03-28
      • 2012-10-08
      • 1970-01-01
      • 1970-01-01
      • 2015-11-20
      • 2021-03-23
      相关资源
      最近更新 更多