- 3
- 0
- 约1.39千字
- 约 2页
- 2023-07-30 发布于上海
- 举报
详细解读《python3⽹络爬⾍开发实战》中图⽚验证码⼆值化
处理去除⼲扰线的代码
原代码如下:
image = image.convert(L)
threshold = 80
table = []
for i in range(256) :
if i threshold :
table.append(0)
else :
table.append(1)
image = image.point(table,1)
⽐较令⼈疑惑的地⽅就是最后⼀⾏代码了,给个列表莫名其妙的就将图⽚⼆值化处理了,那些⼲扰线怎么去掉的我也没整明⽩。让我们⽤这
个代码跑⼀下验证码试试。
原始图⽚:
⽤image.convert(L)灰度处理的图⽚:
⼆值化后的的图⽚:
可以看到⼲扰线已经去除,但是为啥给了n(阈值)个0,(256-n)个1的列表后⼲扰线就去除了?
百度“去除⼲扰线的⽅法”有⼀些说的是对⽐周围n个像素点,⼩于阈值就去掉(就这张图看⼲扰线确实⽐较细⼀些),然后我⼀直往这个
⽅向去想还是想不通。后来各种百度后才发现这个代码⽤的并不是这个⽅法。
⾸先我们要了解⼀下图⽚基本是由RGB三原⾊组成的,类似于三
原创力文档

文档评论(0)