Python:PIL库中getpixel()方法的使用

        getpixel()函数是用来获取图像中某一点的像素的RGB颜色值,getpixel的参数是一个像素点的坐标。对于图象的不同的模式,getpixel函数返回的值不同。

        1.“RGB”模式(RED,GREEN,BLUE)

from PIL import Image
im=Image.open('1.tif')#文件的路径
print(im.mode)
print(im.getpixel((30,25)))#(0,0)表示像素点的坐标

结果为

 RGB
 (8, 8, 8)

返回的是坐标点(30,35)处的red,green,blue的数值

        2.“P”模式(模式“P”为8位彩色图像,它的每个像素用8个bit表示,其对应的彩色值是按照调色板查询出来的)

from PIL import Image
im=Image.open('1.tif')
im2=im.convert("P")
print(im2.mode)
print(im2.getpixel((30,25)))

结果为

   P
   46

转化为P模式之后,坐标点(30,25)处的值有所变化

        3.“1”模式(模式“1”为二值图像,非黑即白。但是它每个像素用8个bit表示,0表示黑,255表示白)

from PIL import Image
im=Image.open('1.tif')
im2=im.convert("1")
print(im2.mode)
print(im2.getpixel((30,25)))

结果为

  1
  0

        PIL中有九种不同模式,分别为1,L,P,RGB,RGBA,CMYK,YCbCr,I,F,详情见博客:https://editor.csdn.net/md?not_checkout=1&articleId=114289398,其他的模式在此不再一一进行实验。在对图像进行处理的时候,如果是用Image.open()打开一个图像,该图像一定会变成RGB模式,如果想要利用getpixel的返回的函数值,三元组的数值不太好处理,就可以把图像模式转变为“P”模式,“L”模式等,方便利用getpixel返回值。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐