【问题标题】:How to show python/openCV outcome images on ssh-client, not in ssh server?如何在 ssh 客户端而不是 ssh 服务器上显示 python/openCV 结果图像?
【发布时间】:2022-04-04 03:00:50
【问题描述】:

我使用 ssh -Y username@adress 连接到 ssh 服务器。 在服务器上,我使用 IDLE 运行 python2.7。 如果我使用 matplotlib,我可以在客户端看到结果图。这表明图形转发没有问题。 但是,当我使用 OpenCV 时:

cv2.imshow('img_final', img_final)
cv2.waitKey(0)
cv2.destroyAllWindows()

它会在 ssh 服务器屏幕中打开并显示图像,而不是在客户端 ssh 计算机中。

我进行了搜索和研究,并针对典型的故障排除: - 在我运行 client-ssh 的计算机上,echo $DISPLAY 响应:0。它运行 xterm。 - 在我的服务器 ssh 计算机上,我的 sshd_config 文件似乎没问题(X11Forwarding 是)。 echo $DISPLAY 显示 localhost:10.0。

此外,我可以使用诸如'feh'之类的图像查看器并在客户端上显示图像而没有任何问题。

我不认为我有配置问题,因为服务器能够在客户端显示图形。

有没有办法在服务器上执行 python 脚本,并直接在客户端显示来自 OpenCV 的输出图像(就像 MAtplotlib 一样)?

谢谢

【问题讨论】:

    标签: python linux opencv ssh x11


    【解决方案1】:

    如果它对你有用,你可以做一些类似连续捕捉但将每一帧存储为图像的事情:

        def deferred_init(self):
            self.total_frames = 200
            for i in range(self.total_frames):
                self.stream = self.camera.capture_sequence(
                    ['image%02d.jpg' % i]
                    )
            return self.stream
    

    (这个 sn-p 在一个对象中,因此是 self.x)这是假设你有 camera = PiCamera 和通常的初始化。无论如何,一旦调用 a) 您的工作目录将变得杂乱无章(建议写入不同的文件夹)并且 b) 您可以使用任何您喜欢的方式从 ssh 查看图像。这种方式测试捕获是否有效,但也允许您从 ssh 查看。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-07
      • 2010-12-15
      • 2011-11-26
      • 2018-10-24
      • 1970-01-01
      相关资源
      最近更新 更多