(编辑:jimmy 日期: 2024/11/12 浏览:2)
getpixel函数是用来获取图像中某一点的像素的RGB颜色值,getpixel的参数是一个坐标点。对于图象的不同的模式,getpixel函数返回的值有所不同。
1.RGB模式
from PIL import Image im=Image.open('d:/22.jpg') print(im.mode) print(im.getpixel((0,0)))
结果为
RGB
(149, 80, 41)
返回的是坐标点(0,0)处的red,green,blue的数值
2.P模式
from PIL import Image im=Image.open('d:/22.jpg') im2=im.convert("P") print(im2.mode) print(im2.getpixel((0,0)))
结果为
P
61
可以看到转化为P模式之后,坐标点(0,0)处的值有所变化
3.“1”模式
from PIL import Image im=Image.open('d:/22.jpg') im2=im.convert("1") print(im2.mode) print(im2.getpixel((0,0)))
结果为
1
0
之后的模式不再实验,此处想要说明的是在对图像进行处理的时候,如果是用Image.open()打开一个图像,那么该图像一定会变成RGB模式,如果想要利用getpixel的返回的函数值,三元组的数值不太好处理,就可以把图像模式转变为“P”模式,“L”模式等,方便利用getpixel返回值
示例代码:
from PIL import Image import matplotlib.pyplot as plt img = Image.open("D:\\image_for_test\\Spee.jpg") plt.imshow(img) plt.show() print(img.getpixel((0,0)),img.getpixel((178,298)))
结果: