【脚本】得到图像的像素值(用PIL)

参考链接

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

getpixel()函数是用来获取图像中某一点的像素的RGB颜色值,getpixel的参数是一个像素点的坐标(x,y)

对于图象的不同的模式,getpixel函数返回的值不同:

  • 1:0或255(模式“1”为二值图像,非黑即白。但是它每个像素用8个bit表示,0表示黑,255表示白)
  • P:返回单个数字,即对应到colormap中的index(模式“P”为8位彩色图像,它的每个像素用8个bit表示,其对应的彩色值是按照调色板查询出来的)
  • RGB:返回的是3元组 (RED,GREEN,BLUE)

代码

from PIL import Image

# 用PIL中自带的getpixel
def getpixel_pil(path):
    image = Image.open(path)
    print(image.mode)    # P
    arr = []
    for w in range(image.size[0]):
        for h in range(image.size[1]):
            p = image.getpixel((w, h))
            if p not in arr:
                arr.append(p)
    print(arr)
    return arr

if __name__ == '__main__':
	getpixel_pil(r'D:\SoftWareInstallMenu\JetBrains\PycharmProjects\tunnel_datadeal\crackop\augment\labels\5.png')

你可能感兴趣的:(脚本,python)