返回信息流lz在这方面是小白,现在在做识别验证码的项目,
遇到了一点问题,关于图像二值化,我现在了解到有两种二值化的代码,
第一种
def binary(self): #二值化
for y in range(self.image.height):
for x in range(self.image.width):
pixel=self.image.getpixel((x,y))
light=pixel[0]*0.299+pixel[1]*0.587+pixel[2]*0.114
if light>140:
self.image.putpixel((x,y),(255,255,255,255))
else:
self.image.putpixel((x,y),(0,0,0,255))
第二种
def binary(self):
threshold = 140
table = []
for i in range(256):
if i < threshold:
table.append(0)
else:
table.append(1)
self.image.point(table, '1')
问题来了,这两种二值化应该是能够实现一样的功能,但是第二种前一般加一个灰度处理而第一种不用,
有大神来解释一下这个问题吗?
这是一条镜像帖。来源:北邮人论坛 / python / #17403同步于 2017/2/25
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖
【求助】关于图像识别二值化的问题
cleanhall
2017/2/25镜像同步1 回复
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复