一、PIL(Python Imaging Library)#python图像处理库
from PIL import Image
import numpy as np #数值计算扩展包
I = Image.open("1.jpg") #读入图片
I.show() #显示图片
print(I) #看看PIL读入后是什么格式
I_array = np.array(I) #转成数组形式
print(I_array.shape)
I.save("2.jpg") #此处应注意保存的对象是PIL读入的格式而不是转换后的数组
运行结果:
二、matplotlib #python绘图库
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import numpy as np
I = mpimg.imread("1.jpg")
print(I.shape) #从运行输出看在读入图片时已经存为array格式
plt.imshow(I) #任何有关图像的操作前都需要此函数对array数据进行预处理
#如果没有这个处理,下面显示或者保存的图像都是空白的
plt.savefig("2.jpg") #保存为图像
plt.show() #显示图像
运行结果:
三、Scipy #一个科学计算扩展包
import scipy.misc
I = scipy.misc.imread("1.jpg") #读取图片
print(I.shape) #也是array格式
#显示图像可以用是上面的方法
scipy.misc.imsave("2.jpg", I) #保存图片
运行结果:
四、OpenCV-python #调用OpenCV API
import cv2 as cv
I = cv.imread("1.jpg")
cv.namedWindow("1",cv.WINDOW_AUTOSIZE) #新开个窗口,自动适应大小
cv.imshow("1",I)
cv.imwrite("2.jpg", I) #保存图片
cv.waitKey(0) #在delaytime时间内,按键盘, 返回所按键的ASCII值;若未在
#delaytime时间内按任何键, 返回-1; 其中,dalaytime: 单位ms;当
#delaytime为0时,表示forever,永不退回.
cv.destroyAllWindows() #这句好像应该有,但目前我不知道啥用
#安装openc库时一定要注意不是python-opencv... pip install opencv-python
运行结果: