在Pycharm和jupyter notebook中运行cv2.imshow()函数的时候,图片无法正常显示,是因为在运行cv2.imshow()之后,需要使用cv2.waitKey()来保持窗口的显示,用cv2.destroyAllWindows()来关闭窗口。
cv2.imshow()后面需要跟随着cv2.waitKey(period)函数,这个函数可以使图像持续显示给定的一段时间period(ms),否则,图片将无法显示。例如:waitKey(0)将持续显示图片直到有按键被按下(这一设置很适合用于显示图片),用鼠标选中图片显示窗口,按下键盘任意键即可关闭该窗口。
import cv2
lena=cv2.imread("lena.bmp")
cv2.imshow("lena", lena )
cv2.waitKey(0)
cv2.destroyAllWindows()
也可以对代码稍作修改,
import cv2
lena = cv2.imread('lena.bmp') # 读取目录下的jpg图像
cv2.imshow('lena', lena) # 建立名为‘image’ 的窗口并显示图像
k = cv2.waitKey(0) # waitKey代表读取键盘的输入,0代表一直等待
if k ==27: # 键盘上Esc键的键值
cv2.destroyAllWindows()
图像出现后
必须把光标移动到窗口上再按Esc键才会退出。