我们利用处理PNG图片是,可能需要获取基本的图片信息来做一些基本的处理,话不多说,上代码。
from PIL import Imageimg = 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) tuplespix = 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)