【问题标题】:Why did I get No Responding window when calling cv2.imshow() in Jupyter notebook为什么在 Jupyter 笔记本中调用 cv2.imshow() 时出现无响应窗口
【发布时间】:2021-10-11 19:25:58
【问题描述】:
每当我在 Jupyter notebook 中运行以下代码时,都会弹出一个窗口并变为无响应。我所做的是将图像转换为 HSV 颜色空间。
import cv2
im = cv2.imread("lena.png", 1)
#cv2.imshow("1", im)
#cv2.waitKey()
im_HSV=[]
im_HSV = cv2.cvtColor(im, cv2.COLOR_BGR2HSV)
cv2.imshow("HSV", im_HSV)
但是,代码在 spyder 上运行完美。
【问题讨论】:
标签:
python
opencv
jupyter-notebook
spyder
【解决方案1】:
你有两种方法可以解决这个问题,
A) 使用 matplotlib:
%matplotlib inline
#The line above is necesary to show Matplotlib's plots inside a Jupyter Notebook
import cv2
from matplotlib import pyplot as plt
#Import image
image = cv2.imread("input_path")
#Convert to HSV
im_HSV = cv2.cvtColor(im, cv2.COLOR_BGR2HSV)
#Show the image with matplotlib
plt.imshow(im_HSV)
plt.show()
另一种方法是
B) 使用opencv的waitkey函数
import cv2
#Import image
image = cv2.imread("input_path")
#Convert to HSV
im_HSV = cv2.cvtColor(im, cv2.COLOR_BGR2HSV)
cv2.imshow(im_HSV,"HSV")
cv2.waitKey(0)
cv2.destroyWindows()