对验证码进行灰度,二值化样本采集

来源:互联网 发布:netstat查看端口占用 编辑:程序博客网 时间:2024/03/29 23:20
# -*-coding:utf-8-*-from PIL import Imageimport sysimport osfrom selenium import webdriversys.path.append('C:\Python27\Lib\site-packages\pytesser')import pytesserurl='http://192.168.24.189/system/code?0.6824490785056669'driver = webdriver.Firefox()driver.maximize_window()  #将浏览器最大化driver.get(url)imgelement = driver.find_element_by_id('codeImg')  #定位验证码location = imgelement.location  #获取验证码x,y轴坐标size=imgelement.size  #获取验证码的长宽rangle=(int(location['x']),int(location['y']),int(location['x']+size['width']),int(location['y']+size['height'])) #写成我们需要截取的位置坐标for i in range(1,100):    name=str(i)+".jpg"    name1=str(i)+"a.jpg"    name2=str(i)+"b.jpg"    driver.find_element_by_id("codeImg").click()    driver.save_screenshot(name)  #截取当前网页,该网页有我们需要的验证码    aa=Image.open(name) #打开截图    frame4=aa.crop(rangle)  #使用Image的crop函数,从截图中再次截取我们需要的区域    frame4.save(name1)    im = Image.open(name1)    imgry = im.convert('L')    threshold = 140    table = []    for j in range(256):        if j < threshold:            table.append(0)    else:        table.append(1)    out = imgry.point(table, '1')    out.save(name2)    os.remove(name)    os.remove(name1)    i+=1

0 0
原创粉丝点击