一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python驗證碼識別處理實例

Python驗證碼識別處理實例

2020-08-05 09:57林炳文Evankaka Python

這篇文章主要介紹了Python驗證碼識別處理實例,實現過程講解很詳細,感興趣的小伙伴們可以參考一下

一、準備工作與代碼實例
(1)安裝PIL:下載后是一個exe,直接雙擊安裝,它會自動安裝到C:\Python27\Lib\site-packages中去,
(2)pytesser:下載解壓后直接放C:\Python27\Lib\site-packages(根據你安裝的Python路徑而不同),同時,新建一個pytheeer.pth,內容就寫pytesser,注意這里的內容一定要和pytesser這個文件夾同名,意思就是pytesser文件夾,pytesser.pth,及內容都要一樣!
(3)Tesseract OCR engine下載:下載后解壓,tessdata文件夾,用其替換掉pytesser解壓后的tessdata文件夾即可。

二、驗證
(1)原理:
驗證碼圖像處理

驗證碼圖像識別技術主要是操作圖片內的像素點,通過對圖片的像素點進行一系列的操作,最后輸出驗證碼圖像內的每個字符的文本矩陣。

  • 1、讀取圖片
  • 2、圖片降噪
  • 3、圖片切割
  • 4、圖像文本輸出

(2)驗證字符識別

驗證碼內的字符識別主要以機器學習的分類算法來完成,目前我所利用的字符識別的算法為KNN(K鄰近算法)和SVM (支持向量機算法),后面我 會對這兩個算法的適用場景進行詳細描述。

  • 1、獲取字符矩陣
  • 2、矩陣進入分類算法
  • 3、輸出結果

要驗證的圖片如下:

Python驗證碼識別處理實例

(3)、簡單的命令:

?
1
2
3
from pytesser import *
image = Image.open('1.jpg') # Open image object using PIL
print image_to_string(image)  # Run tesseract.exe on image

然后運行:

Python驗證碼識別處理實例

或者直接:

?
1
print image_file_to_string('fnord.tif')

同樣能輸出結果!
(4)、復雜一點的
上面的只能對一些比較簡單的做處理,一
原理:彩色轉灰度,灰度轉二值,二值圖像識別

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# 驗證碼識別,此程序只能識別數據驗證碼
import Image
import ImageEnhance
import ImageFilter
import sys
from pytesser import *
# 二值化
threshold = 140
table = []
for i in range(256):
 if i < threshold:
  table.append(0)
 else:
  table.append(1)
 
#由于都是數字
#對于識別成字母的 采用該表進行修正
rep={'O':'0',
 'I':'1','L':'1',
 'Z':'2',
 'S':'8'
 };
 
def getverify1(name):  
 #打開圖片
 im = Image.open(name)
 #轉化到灰度圖
 imgry = im.convert('L')
 #保存圖像
 imgry.save('g'+name)
 #二值化,采用閾值分割法,threshold為分割點
 out = imgry.point(table,'1')
 out.save('b'+name)
 #識別
 text = image_to_string(out)
 #識別對嗎
 text = text.strip()
 text = text.upper(); 
 for r in rep:
  text = text.replace(r,rep[r]) 
 #out.save(text+'.jpg')
 print text
 return text
getverify1('1.jpg') #注意這里的圖片要和此文件在同一個目錄,要不就傳絕對路徑也行

運行后效果:

Python驗證碼識別處理實例

以上就是本文的全部內容,希望對大家的學習有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲欧美在线观看一区二区 | 福利三区 | 99在线视频观看 | 精品国语国产在线对白 | 亚洲精品乱码久久久久久蜜桃图片 | 久久精品国产清白在天天线 | 精品视频一区二区 | 精品日韩一区 | 亚洲一卡2卡4卡5卡6卡残暴在线 | 日韩一级生活片 | 免费观看无人区完整版 | aaa毛片手机在线现看 | 成人激情 | 欧美一级欧美三级 | 国产精品一二三 | 日本草草视频在线观看 | 天天澡夜夜澡狠狠澡 | 91天堂视频 | 四川女人偷人真实视频 | 久久亚洲网站 | 成人综合婷婷国产精品久久免费 | 亚洲干综合 | 国产福利不卡一区二区三区 | 欧美一级久久久久久久大片 | 国产麻豆流白浆在线观看 | 猫咪maomiav永久网址 | 久久精品国产清白在天天线 | 欧美成人中文字幕 | 日本三级香港三级久久99 | 97午夜视频 | 亚洲欧美天堂 | 337p大尺度啪啪人体午夜2020 | 水野朝阳厨房系列在线观看 | 亚洲爱v | 色猪视频| 窝窝影院午夜色在线视频 | 国产探花视频在线观看 | 国内外精品免费视频 | 午夜影院0606| 亚洲国产剧情中文视频在线 | 欧美最猛性xxxxx男男 |