python找色_Python获取图片位置像素色值及判断色值是否存在

#!/usr/bin/python

# -*- coding:utf-8 -*-

from PIL import Image

# 涛哥用代码看是那的错 https://blog.kydbk.com

img = Image.open("test.png")

# 获取图片尺寸的大小(600,600)

print img.size

# 获取图片的格式 png

print img.format

# 获取图片的图像类型 RGBA

print img.mode

# 显示图片

img.show()

# 获取某个像素位置的值

print img.getpixel((126, 52))

# 生成缩略图

# img.thumbnail((128, 128))

# 保存图片

# img.save('image_thumb.jpg', 'JPEG')

"""

# 获取图片指定像素点的像素

def getPngPix(pngPath = "test.png",x = 1,y = 1):

img_src = Image.open(pngPath)

img_src = img_src.convert('RGBA')

img_array = img_src.load()

data = img_array[x,y]

img_src.close()

return data

# 输入当前位置像素 (207,75,90,255)

print(getPngPix("test.png",126,52))

"""

# 判断某像素值是否在图像中

# 查找目标色值 (1,1,1,255)

# 查找目标色值 (2,2,2,255)

# 查找目标色值 (255,250,250,255)

i = 1

j = 1

result = 0

break_flag = False

width = img.size[0]#长度

height = img.size[1]#宽度

for i in range(0,width):#遍历所有长度的点

for j in range(0,height):#遍历所有宽度的点

#每个像素点的颜色RGBA的值(r,g,b,alpha)

data = (img.getpixel((i,j)))#打印该图片的所有点

# 判断RGBA的值

if (data[0]==255 and data[1]==250 and data[2]==250):

# if (data[0]==207 and data[1]==75 and data[2]==90):

result = 1

print"图片中存在该像素!"

break_flag = True

break

if break_flag==True:

break

if break_flag==True:

break

if(result == 0):

print"图片中不存在该像素!"

"""

data = (img.getpixel((i,j)))#打印该图片的所有点

print (data)#打印每个像素点的颜色RGBA的值(r,g,b,alpha)

print (data[0])#打印RGBA的r值

if (data[0]>=170 and data[1]>=170 and data[2]>=170):#RGBA的r值大于170,并且g值大于170,并且b值大于170

img.putpixel((i,j),(234,53,57,255))#则这些像素点的颜色改成大红色

img = img.convert("RGB")#把图片强制转成RGB

img.save("e:/pic/testee1.jpg")#保存修改像素点后的图片

"""

你可能感兴趣的:(python找色)