如何使用python去除验证码里的连贯线

下在我们就通过一段python代码来说明应该怎么样去除这些烦人的东西。

 

def get_left_start_point(im):

start_point = (0,0)

found = False

w, h = im.size

data = list(im.getdata())

for x in xrange(w):

for y in xrange(h):

if data[ y*w + x ] != white:

found = True

 start_point = (x,y)

 break

 

 if found:

 break

 return start_point

 

 

 

 

def remove_line(im, aim):

       w,h = im.size

       data = list( im.getdata() )

      

       for x,y in aim:

              curr = data[ y * w + x ]

              prev = data[ (y-1) * w + x]

              next = data[ (y+1) * w + x]

             

              if prev == black and next == black:

                     continue

             

              if prev == black:

                     data[ y * w + x ] = white

                     data[ (y-1) * w + x] = white

             

             

              elif next == black:

                     data[ y * w + x ] = white

                     data[ (y+1) * w + x] = white

             

              else:

                     data[ y * w + x ] = white

 

相信用过python的朋友一定很容易看出来这些代码都做了什么,其实就是确定线的首尾两端,能确定两端那接下来要处理不就简单得多了吗,具体的做法还是看代码吗,说起来没有代码清楚。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值