python 3+PIL+pytesseract+tesseract-ocr識別画像検証コード全解教程

3397 ワード


本文はWindowsを例にしている.
一、セットアップtesseract-ocrをダウンロードします.
1.github住所: https://github.com/tesseract-ocr/tesseract
tesseract-ocr-setup-30.05.01.exeダウンロードアドレス:http://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-setup-3.05.01.exe
tesseract-ocr-setup-4.0.00 dev.exeダウンロードアドレス:http://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-setup-4.00.00dev.exe
以上の二つのバージョンの中の一つを選んでダウンロードすればいいです.
中国語のフォントが必要なら、ダウンロードしてtesseract-ocrインストール後のtessdataディレクトリに置いてください.
簡体字認識パッケージ:https://raw.githubusercontent.com/tesseract-ocr/tessdata/4.00/chi_sim.trineddata
繁体字認識パッケージ:https://github.com/tesseract-ocr/tessdata/raw/4.0/chi_traneddata
2.インストール中にインストールディレクトリを選択する
3.環境変数の設定
環境変数のシステム変数PATHにtesseract-ocrのインストール経路(E:\Tesseract-OCRなど)を追加します.
環境変数のシステム変数にTESSDATA_を追加します.PREFIX変数名、変数値またはtesseract-ocrのインストール経路(E:\Tesseract-OCRなど)
4.インストールが成功したか確認する
cmdウィンドウは、tesseractに入力し、次のような情報が必要です.インストールが成功したということです.
python3+PIL+pytesseract+tesseract-ocr识别图片验证码全解教程_第1张图片
また、Tesseract-OCRサポート言語をコマンドtesseract-list-lagsで確認することができます.
python3+PIL+pytesseract+tesseract-ocr识别图片验证码全解教程_第2张图片
二、Pillowの取り付け
pip install Pillowまたはpythonsetup.py install(ソースインストール)
三、pytesseractをインストールします.
pip install pytesseractまたはpythonsetup.py install(ソースインストール)
四、Python呼び出し
インターフェースを呼び出して返した二次元コード画像
# coding:utf-8
# @author : csl
# @date   : 2018/11/28 17:33

import requests
import os
import pytesseract
from PIL import Image

class imageCode2str(object):
    """        str"""

    def __init__(self, url):
        self.url = url

    def saveImage(self,):
        """
        @description:     
        :param url: 
        :return: 
        """
        #       
        PATH = os.path.abspath(os.path.join(os.path.dirname('.'), os.path.pardir))
        self.imagePATH = str(PATH) + '\\***.png'  #       
        if "***" not in self.imagePATH:
            self.imagePATH = str(PATH) + "\\***.png"

        #     
        reqimage = requests.get(self.url)
        f_image = open(self.imagePATH, "wb")
        f_image.write(reqimage.content)
        f_image.close()

    def image2str(self):
        """       """
        self.saveImage()
        image = Image.open(self.imagePATH)
        vcode = pytesseract.image_to_string(image)
        print(vcode)


if __name__ == "__main__":
    imageCode2str("http://******?cid=ADMIN_LOGIN").image2str()
写真があるなら、それだけでいいです.
import os
import pytesseract
from PIL import Image
image = Image.open("***.png")
vcode = pytesseract.image_to_string(image)
print(vcode)
感謝:https://blog.csdn.net/duanshao/article/details/79514051