PYTHON Image Module中Pix[x,y]详解

PYTHON Image Module中Pix[x,y]详解

最近一直在用Image.load()这个函数,对于里面的参数还有一个迷糊。尤其是Pix[x,y]得到的元组中的值的代表什么,去查函数手册得到以下结论。

  1. Image.load()方法是为图像分配储存空间和加载图像,返回一个可访问的图像对象。
  2. 图像对象作为一个PixAccess Class提供了像素级的读写访问。

from PIL import Image
with Image.open('example.jpg') as im:
    px = im.load()
print (px[4,4])
px[4,4] = (0,0,0)
print (px[4,4])

结果如下

(23, 24, 68)
(0, 0, 0)

PixelAccess Class的详解

__setitem__(self, xy, color):

修改【x,y】处的像素。对于单通道的图像,颜色以单独的数值表示。对于多通道的图像,颜色以元组表示。

Parameters

  • xy – 像素坐标,给定为(x,y)。
  • color – 这个模式下像素的值. e.g. tuple (r, g, b) for RGB mode)

__getitem__(self, xy):

Returns the pixel at x,y. The pixel is returned as a single value for single band images or a tuple for multiple band images

  • param xy – 像素坐标,给定为(x,y)。
  • returns -对于单通道的图像,返回一个单独的数值。对于多通道的图像,返回一个元组。
putpixel(self, xy, color):

Modifies the pixel at x,y. The color is given as a single numerical value for single band images, and a tuple for multi-band images. In addition to this, RGB and RGBA tuples are accepted for P images.

Parameters
xy – The pixel coordinate, given as (x, y).

color – The pixel value according to its mode. e.g. tuple (r, g, b) for RGB mode)

getpixel(self, xy):

Returns the pixel at x,y. The pixel is returned as a single value for single band images or a tuple for multiple band images

param xy

The pixel coordinate, given as (x, y).

returns

a pixel value for single band images, a tuple of pixel values for multiband images.

上面这部分来自于PixlAccess Class手册,总结来看,Pix[x,y]返回了图像在(x,y)处由像素值组成的一个元组。例如RGB模式图像会得到(r,g,b,255)。

Reference

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值