Python OCR識別圖片驗證碼(二)
作業系統:Windows
Python:3.5
歡迎加入學習交流QQ群:657341423
但對於一些複雜的驗證碼,我們需要做一些簡單的圖片處理才能識別。
例如,我要識別這些驗證碼:
設計思路:首先將圖片變灰,然後轉為RGBA,即四個通道,每個通道代表每種顏色,這個涉及到圖片處理的一些基礎知識。這個可以研究一下opencv。這個比較有意義。然後判斷通道的顏色來轉換成黑白色彩。便於OCR識別。
from PIL import Image
from PIL import ImageEnhance
from PIL import ImageFilter
import sys
import os
import pytesseract
from pyocr import tesseract
import time
def eachFile(filepath):
pathDir = os.listdir(filepath)
for allDir in pathDir:
child = os.path.join('%s%s' % (filepath, allDir))
if "jpg" in child:
jpgList.append(child)
def OutCode(code):
file=open(SettingFile+"data.txt",'w')
file.write(code)
file.close()
print (code)
# 黑白反色,白色替換
# 此處N直接為255
# 小於N的 被替換成黑色
# 大於等於N的 被替換成白色,255代表白色,0代表黑色
if __name__=='__main__':
while 1:
SettingFile="D:\\"
jpgList=[]
eachFile(SettingFile)
for i in jpgList:
try:
im = Image.open(i)
im=im.convert('L')#圖片轉換為灰色影象
im=im.convert('RGBA')#圖片轉換成RGBA模式
pixdata = im.load()
for y in range(im.size[1]):
for x in range(im.size[0]):
#迴圈影象裡的每一個畫素。每個畫素為一個長度為4的列表。因為圖片轉換成RGBA模式,所以列表長度為4,A就是透明度
if pixdata[x,y][0]>170 and pixdata[x,y][1]>170 and pixdata[x,y][2]>170 and pixdata[x,y][3]>170:
pixdata[x,y]=(255, 255, 255, 0)
else:
pixdata[x,y]=(0, 0, 0, 0)
im.save("asa.png")
#下面code與註釋的code實現的功能一樣
#code=pytesseract.image_to_string(im)
code=tesseract.image_to_string(im)
OutCode(code)
os.remove(i)
except Exception as e:
code="Unrecognized"
OutCode(code)
os.remove(i)
time.sleep(5)
這裡我設計一個死迴圈,每隔五秒檢測d盤下的jpg檔案,然後輸出識別後的結果。測試結果:
如圖所示:asa.png為處理後的圖片。然後給OCR識別。
(建議將圖片改為png格式)
當然,這個OCR識別永遠都是有一定的準確率。這個是無法改變的。
相關文章
- Python OCR識別圖片驗證碼(一)Python
- Python驗證碼識別:利用pytesser識別簡單圖形驗證碼Python
- Python爬蟲教程-29-驗證碼識別-Tesseract-OCRPython爬蟲
- 字元型圖片驗證碼識別完整過程及Python實現字元Python
- 2.CNN圖片多標籤分類(基於TensorFlow實現驗證碼識別OCR)CNN
- opencv圖片處理與OCR識別OpenCV
- python 驗證碼識別示例(一) 某個網站驗證碼識別Python網站
- 用python生成驗證碼圖片Python
- Python呼叫百度OCR介面圖片識別轉文字Python
- AI大模型實現圖片OCR識別AI大模型
- Python識別網站驗證碼Python網站
- python利用Tesseract識別驗證碼Python
- Python驗證碼自動識別Python
- 驗證碼識別
- Python3呼叫百度OCR圖片文字識別APIPythonAPI
- 圖片驗證碼 CaptchaAPT
- 圖片驗證碼介面
- tensorflow 訓練 think-captcha 圖片驗證碼自動識別APT
- 利用PyTorch訓練模型識別數字+英文圖片驗證碼PyTorch模型
- Java如何使用Tessdata做OCR圖片文字識別Java
- OCR圖片文字識別軟體:Initiater Pro for MacMac
- Java 實現OCR掃描/識別圖片文字Java
- 利用python進行識別相似圖片(二)Python
- 初探驗證碼識別
- java識別驗證碼Java
- golang 生成圖片驗證碼Golang
- C#圖片驗證碼C#
- OCR身份證識別技術
- Python驗證碼識別處理例項Python
- 神器!使用Python 輕鬆識別驗證碼Python
- Python圖片驗證碼降噪 — 8鄰域降噪Python
- python生成驗證碼,文字轉換為圖片Python
- OCR文件識別:圖片快速轉換成電子文件
- Python識別字母數字組合驗證碼Python
- 有道自然語言翻譯和文字識別OCR(圖片文字識別)介面呼叫
- 影片直播app原始碼,傳送驗證碼 驗證碼識別APP原始碼
- 手寫的文字圖片怎樣使用OCR軟體識別?
- JavaScript圖片文字識別(OCR)外掛Ocrad.js教程JavaScriptJS