使用 python 的 opencv 中的 imshow 不是交互式的

imshow in opencv with python is not interactive

我在使用 imshow() 时遇到了一些问题。我正在使用以下代码显示图像:

cv2.namedWindow("image", cv2.WINDOW_GUI_EXPANDED)
cv2.imshow("image", image)
cv2.waitKey(0)
cv2.destroyAllWindows()

(displayed window)

但window只显示图像,不显示RGB信息或坐标,不缩放in/out。我看过教程,似乎只要 window 弹出,人们就可以查看所有这些内容。我试着搜索看看是否有其他人有类似的问题,但我只找到一个答案说我应该检查我的 OpenCV 版本是否为 3.4+。我的版本是 3.4.1,所以它应该可以正常工作,但事实并非如此。有人可以帮我解决这个问题吗?

谢谢。

或者,您也可以简单地使用 matplotlib 库来获得 zoom/coordinates/RGB 功能:

import cv2
from matplotlib import pyplot as plt

img = cv2.imread('lena.png')
plt.imshow(img)
plt.xticks([]), plt.yticks([])
plt.show()

有了Jupyter,你可以试试:

import cv2
from matplotlib import pyplot as plt

img = cv2.imread('lena.png')
%matplotlib qt
plt.imshow(img)
plt.xticks([]), plt.yticks([])
plt.show()

您可能需要一些依赖项。