【问题标题】:imshow in opencv with python is not interactive带有python的opencv中的imshow不是交互式的
【发布时间】:2018-10-09 08:22:51
【问题描述】:

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

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

(displayed window)

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

谢谢。

【问题讨论】:

  • 你说的是Qt接口,不是默认的。上次我安装 openCV 时,您必须从源代码编译才能启用它,但它可能随着最新版本而改变。

标签: python opencv jupyter cv2 imshow


【解决方案1】:

或者,您也可以简单地使用 matplotlib 库来获得缩放/坐标/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()

您可能需要很少的依赖项。

【讨论】:

  • @Nour 我没有意识到你在使用 jupyter notebook。您在绘图之前尝试过 %matplotlib qt 吗?
  • 我刚刚试了一下!它正在工作!非常感谢你。但它的行为有点奇怪。它以绿色显示灰色图像,以紫色显示彩色图像。是调整颜色图的问题吗?
  • @Nour,这是可能的。我会尝试,例如尝试 cmap='gray' 或其他设置。
猜你喜欢
  • 2015-02-23
  • 2017-11-12
  • 2019-10-27
  • 1970-01-01
  • 2018-08-11
  • 2019-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多