使用 python 进行图像处理时,几种常见的图片读取和存储的方式:
Image 模块
from PIL import Image
#读取
img = Image.open('img.jpg')
#图片类型
print(type(img)) # <class 'PIL.JpegImagePlugin.JpegImageFile'>
print(img) # <PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=742x531 at 0x14E818079E8>
#显示
img.show()
#保存
img.save('img_copy.jpg')
#转换成 array 类型
import numpy as np
img = np.array(img)
print(type(img)) # <class 'numpy.ndarray'>
print(img.shape) # (531, 742, 3)
skimage 模块
from skimage import io
#读取
img=io.imread('img.jpg')
#图片类型
print(type(img)) # <class 'imageio.core.util.Array'>
print(img.shape) # (531, 742, 3)
#显示
io.imshow(img)
io.show()
#保存
io.imsave('img_copy.jpg', img)
matplotlib 模块
import matplotlib.pyplot as plt
#读取
img = plt.imread('img.jpg')
#图片类型
print(type(img)) # <class 'numpy.ndarray'>
print(img.shape) # (531, 742, 3)
#显示
plt.imshow(img)
plt.show()
#保存
plt.imsave('img_copy.jpg', img)
cv2 模块
import cv2
#读取
img = cv2.imread('img.jpg')
#图片类型
print(type(img)) # <class 'numpy.ndarray'>
print(img.shape) # (531, 742, 3)
#显示
cv2.imshow('image',img)
cv2.waitKey(0)
#保存
cv2.imwrite('img_copy.jpg', img)
scipy 模块
import scipy.misc
#读取
img = scipy.misc.imread('img.jpg')
#图片类型
print(type(img)) # <class 'numpy.ndarray'>
print(img.shape) # (531, 742, 3)
#显示
from os import environ
environ['SCIPY_PIL_IMAGE_VIEWER'] = '' # 这里填 image viewer 路径
scipy.misc.imshow(img)
#保存
scipy.misc.imsave('img_copy.jpg', img)
网友评论