#coding:utf-8
from PIL import Image,ImageDraw
def isWhite(color):
"""
查看像素是否为白色
"""
"""
print color
if type(color) == type(1):
if color == 0:
return False
else:
return True
"""
if type(color) == type(1):
light = color
else:
light = (color[0] + color[1] + color[2])/3
if light < 150:
return False
return True
def getSharp(infile,outfile):
"""
获取图片轮廓
"""
img = Image.open(infile)
data = img.getdata()
outimg = Image.new("1",img.size)
drawimg = ImageDraw.Draw(outimg)
width,height = img.size
cnt = 0
for y in xrange(0,height):
for x in xrange(0,width):
drawimg.point((x,y),255)
if isWhite(data[y * width + x]):
continue
if y == 0 or x == 0 or y == height - 1 or x == width - 1:
continue
if not isWhite(data[(y-1) * width + x]) and not isWhite(data[(y+1) * width +x]):
if not isWhite(data[y * width + (x - 1)]) and not isWhite(data[y * width + x + 1]):
continue
cnt += 1
drawimg.point((x,y),0)
outimg.save(outfile)
print cnt
getSharp("076.jpg","2.bmp")
分享到:
2009-04-16 08:43
浏览 1708
评论