工作生活

Python | 读取、显示、保存图片

2019-07-03  本文已影响0人  简子逍

使用 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)
上一篇下一篇

猜你喜欢

热点阅读