用pyplot.imshow取代cv2.imshow
我在运行cv2.imshow和destroyAllWindows时,Jupyter notebook出现如下告警,然后Visual studio code崩溃,必须重启才能正常。
Error: Direct kernel connection broken
githhub上分析这不是notebook问题,应该与ipython或ipykernel有关。
后来采用matplotlib的pyplot函数,效果更好
%matplotlib inline
from matplotlib import pyplot as plt
img1 = cv2.imread("ls.jpg")
plt.imshow(img1)
plt.show()
cv2是BGR与pyplot是RGB
为什么上图人脸发蓝,因为图片是用cv2读取的,颜色顺序是BGR,而pyplot是RGB,因此需要做一个转换。
plt.imshow(cv2.cvtColor(img1, cv2.COLOR_BGR2RGB))
#plt.imshow(img1)
plt.show()