20221222-python:PIL库中getpixel方法的使用

python pil 库中getpixel 方法的使用

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

RGB 模式 RED GREEN BLUE

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

结果为

1
2
RGB
(8, 8, 8)

返回的坐标点 30 35 处的red green blue 的数值

  1. P 模式,模式P 为8位彩色图像,它的每个像素用8个bit 表示,其对应的彩色值是按照调色板查询出来的
1
2
3
4
5
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 处的值有所变化

1 模式 模式1 为二值图像,非黑即白,但是它每个像素用8个bit 表示,0表示黑,255 表示白

1
2
3
4
5
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返回值。

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2015-2024 TeX_baitu
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~