国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python實現驗證碼識別功能

2020-02-15 21:41:16
字體:
來源:轉載
供稿:網友

本文實例為大家分享了python實現驗證碼識別的具體代碼,供大家參考,具體內容如下

1.通過二值化處理去掉干擾線

2.對黑白圖片進行降噪,去掉那些單獨的黑色像素點

3.消除邊框上附著的黑色像素點

4.識別圖像中的文字,去掉空格與'.'

python代碼:

from PIL import Image from aip import AipOcr  file='1-1-7'  # 二值化處理,轉化為黑白圖片 def two_value():  for i in range(1, 5):   # 打開文件夾中的圖片   image = Image.open(file+'.jpg')   # 灰度圖   lim = image.convert('L')   # 灰度閾值設為165,低于這個值的點全部填白色   threshold = 165   table = []    for j in range(256):    if j < threshold:     table.append(0)    else:     table.append(1)    bim = lim.point(table, '1')   bim.save(file+'.1.jpg')  two_value()  # 去除干擾線 im = Image.open(file+'.1.jpg') # 圖像二值化 data = im.getdata() w, h = im.size black_point = 0  for x in range(1, w - 1):  for y in range(1, h - 1):   mid_pixel = data[w * y + x] # 中央像素點像素值   if mid_pixel < 50: # 找出上下左右四個方向像素點像素值    top_pixel = data[w * (y - 1) + x]    left_pixel = data[w * y + (x - 1)]    down_pixel = data[w * (y + 1) + x]    right_pixel = data[w * y + (x + 1)]     # 判斷上下左右的黑色像素點總個數    if top_pixel < 5: #小于5比小于10更精確     black_point += 1    if left_pixel < 5:     black_point += 1    if down_pixel < 5:     black_point += 1    if right_pixel < 5:     black_point += 1    if black_point < 1:     im.putpixel((x, y), 255)     # print(black_point)    black_point = 0  im.save(file+'.2.jpg')  # 去除干擾線 im = Image.open(file+'.2.jpg') # 圖像二值化 data = im.getdata() w, h = im.size black_point = 0  for x in range(1, w - 1):  for y in range(1, h - 1):   if x < 2 or y < 2:    im.putpixel((x - 1, y - 1), 255)   if x > w - 3 or y > h - 3:    im.putpixel((x + 1, y + 1), 255)  im.save(file+'.3.jpg')  # 定義常量 APP_ID = '11352343' API_KEY = 'Nd5Z1NkGoLDvHwBnD2bFLpCE' SECRET_KEY = 'A9FsnnPj1Ys2Gof70SNgYo23hKOIK8Os'  # 初始化AipFace對象 aipOcr = AipOcr(APP_ID, API_KEY, SECRET_KEY)  # 讀取圖片 filePath=file+'.3.jpg' def get_file_content(filePath):  with open(filePath, 'rb') as fp:   return fp.read()  # 定義參數變量 options = {  'detect_direction': 'true',  'language_type': 'CHN_ENG', }  # 調用通用文字識別接口 result = aipOcr.basicGeneral(get_file_content(filePath), options) print(result) words_result=result['words_result'] for i in range(len(words_result)):  print(words_result[i]['words'].replace(' ','').replace('.','')) #去掉可能被識別的空格與. 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 股票| 琼结县| 楚雄市| 富民县| 札达县| 闽清县| 杂多县| 北海市| 潢川县| 南漳县| 安义县| 东乌珠穆沁旗| 五大连池市| 临洮县| 东辽县| 台安县| 沾化县| 龙岩市| 福海县| 陆良县| 阳朔县| 乐业县| 达日县| 循化| 西峡县| 陕西省| 仲巴县| 阿勒泰市| 临海市| 德江县| 安福县| 宿州市| 拉萨市| 沙洋县| 高雄县| 石台县| 磐石市| 湖北省| 仁布县| 晋城| 保山市|