python图片黑白化

#!/usr/bin/env python
#-*- coding:utf-8 -*-
from PIL import Image

im = Image.open(r"C:\Users\wangshaowei6\Desktop\wm.gif")
#(将图片转换为8位像素模式)   和RGB模式相似
im.convert("P")
his = im.histogram()
vslues ={}

#每个像素点可表现256种颜色,你会发现白点是最多
# (白色序号255的位置,也就是最后一位,可以看到,有625个白色像素)。红像素在序号200左右,我们可以通过排序,得到有用的颜色。
for i in range(256):
    vslues[i] = his[i]

for j,k in sorted(vslues.items(),key = lambda x:x[1],reverse= True)[:10]:   #[:10]代表前10个
    pass#print(j , k)

#构造灰度图片
im2 = Image.new("P",im.size,255)
for y in range(im.size[1]):
    for x in range(im.size[0]):
        pix = im.getpixel((x,y))
        if pix == 220 or pix ==227 :
            im2.putpixel((x,y),0)
im2.show()
#将图片转换成矢量
def buildvector(im):
    d1 = {}
    count = 0
    for i in im.getdata():              #得到每个像素点的值
        d1[count] = i
        count += 1
    return d1

猜你喜欢

转载自www.cnblogs.com/wangshaowei/p/8991527.html