为什么在Jupyter笔记本中调用cv2.imshow()时没有响应窗口?



每当我在Jupyter notebook中运行下面的代码时,弹出一个窗口,变为No response。我所做的是将图像转换为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上运行得很好。

你有两种方法来解决这个问题,

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()

最新更新