使用 Xming 在 WSL 中使用 openCV imshow

openCV imshow in WSL using Xming

我正在处理一些视频处理任务,并且一直在使用 opencv-python 4.2.0 作为我的首选库。起初使用 imshow 函数显示视频帧时出现问题 - 我只会看到一个小黑 window,但我认为我的逻辑有问题。我尝试以最简单的形式重现问题 - 加载和显示静态图像:

import cv2
frame = imread("path/to/some/image.png")
print(frame.shape)
cv2.imshow('test', frame)

输出:

>>> (600, 600, 3)

我之前在这个开发环境中没有出现过类似的问题。我是在WSL(Ubuntu16.04)下开发,在Win10下用Xming显示程序的window.

window 中的图像在执行函数 waitKey() 时更新 - 因此您必须使用它

import cv2

frame = cv2.imread("path/to/some/image.png")
print(frame.shape)

cv2.imshow('test', frame)
cv2.waitKey(1)

至少它在 Linux Mint 19.3 上解决了这个问题,基于 Ubuntu 18.04