我们利用处理PNG图片是,可能需要获取基本的图片信息来做一些基本的处理,话不多说,上代码。
from PIL import Image
img = Image.open("more.png")
# img.show()
print(img.size)#获取图片大小(width, height)
print(img.size[0], img.size[1]) #(width, height)
print(img.mode)#获取图片模式{'1':1, 'L':8, 'P':8(带颜色表), 'RGB':24, 'RGBA':32,}
print(img.info) #打印的信息类似下方注释,当然必须图片内部包含该信息才行
'''
{
'Software': 'Adobe ImageReady',
'XML:com.adobe.xmp': '<?xpacket begin="\ufeff" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta
xmlns:x="adobe:ns:meta/"
x:xmptk="Adobe XMP Core 5.6-c140 79.160451, 2017/05/06-01:08:21 ">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmp:CreatorTool="Adobe Photoshop CC 2018 (Macintosh)" xmpMM:InstanceID="xmp.iid:AE0F209DE45311E998F5EA8083EEF15A"
xmpMM:DocumentID="xmp.did:AE0F209EE45311E998F5EA8083EEF15A">
<xmpMM:DerivedFrom stRef:instanceID="xmp.iid:AE0F209BE45311E998F5EA8083EEF15A"
stRef:documentID="xmp.did:AE0F209CE45311E998F5EA8083EEF15A"/>
</rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>'
}
'''
sequ = img.getdata()
sequ0 = list(sequ)
print(sequ0)#获取图片像素值
if img.mode == 'P':
print(img.palette.palette)#打印颜色表
# lut = img.resize((99, 99))
# lut.putdata(range(256))
lut = lut.convert("RGB")#将图片转换为RGB图像
print(list(lut.getdata()))#打印图像RGB像素值
# pix = lut.load()
# print(pix[1, 0])
# lut.show()
# lut now contains a sequence of (r, g, b) tuples
pix = img.load()
print(pix[img.size[0]/2, img.size[1]/2])#某个点(x, y)的像素值
if img.mode == 'RGBA':
r,g,b, a = img.split()
print(r.mode)
print(r.size)
print(img.size)