目前就我通过实验得出使用python读取和显示图片有两种方式。
一、
使用CV2读取和显示图片:图片效果如下
实验代码:
import cv2 img = cv2.imread('cat.jpg',cv2.IMREAD_UNCHANGED) cv2.imshow('cat',img) cv2.waitKey()
imread()和imshow()是对称的,imshow中的第一个参数是显示图片的窗口的名字,是唯一的,并且图片显示的窗口大小根据读取的图片的自适应。而且必须加上cv2.waitKey()才能肉眼可见,不然闪一下就过了。用这种方法没有坐标轴的。
以前用cv2读取图片后,但是使用matplotlib.pyplot 画图,不管怎么样显示的图片都是色彩不完整的。图片在下方
fig,ax = plt.subplots(1,1) ax.imshow(img) plt.show()
二:第二种方法是PIL中的Image读取图片,再用plt画图,这时候会有坐标轴,能清楚的看到图片的大小。
import matplotlib.pyplot as plt from PIL import Image img = Image.open('cat.jpg') fig,ax = plt.subplots(1,1) ax.imshow(img) plt.show()
效果如下: