# -*- coding: utf-8 -*-
import os
import numpy as np
from PIL import Image
# 读入图片,默认为RGB顺序,读出的变量img类型为Image类型, size为(width,height),彩色三通道图像
img = Image.open("tmp.jpg")
#显示图像
img.show()
#返回图像的格式,'JPG'
print(img.format)
#返回图像大小,(width,height)
print(img.size )
#输出RGB
print(img.mode)
#输出元组('R', 'G', 'B')
print(img.getbands())
#装换Image格式为numpy数组array格式,进行图像处理
#转换之后img0.shape为(height,width,3)
img0 = np.array(img, dtype = np.uint8)
print("img0 shape: ", img0.shape) #(736,736,3)
#截取数组第0维
#img0[400],...,img0[404]
# ... ,..., ...
#img0[404],...,img0[404]
data = img0[400:405,400:405,0]
print(data.shape)
print(data)
#如果需要保存的图片变量是数组array形式的,需要先转换为Image格式,然后再保存
#由img0.shape为(height,width,3)转换为img.size为(width,height)
img1 = Image.fromarray(img0.astype(np.uint8))
img1.save("tmp11.jpg")
python 图像处理 PIL库
最新推荐文章于 2023-03-14 16:47:16 发布