OCRを達成するためPythonインタフェース

説明するのはあまりにも疲れて,,修正する時間を持っています

輸入pytesseractの
インポート要求
からPILインポートイメージ
 からPILインポートするImageFilter
 からStringIOをインポートたStringIO
 からwerkzeug.utilsはsecure_filenameをインポート
 からgevent輸入サル
 からgevent.pywsgi輸入てWSGIServerの
(monkey.patch_all)
からフラスコインポートフラスコ、render_template、jsonify、要求、send_from_directory 
インポートタイム
輸入OS 
輸入base64で
輸入ランダム


アプリ = フラスコ(__ name__)
UPLOAD_FOLDER = ' アップロード' 
のapp.config [ " UPLOAD_FOLDER' ] = UPLOAD_FOLDER 
BASEDIR = os.path.abspath(os.path.dirname(__ FILE__))
ALLOWED_EXTENSIONS = セット([ ' PNG ' ' JPG ' ' JPG ' ' PNG " ])

DEF allowed_file(ファイル名):
    リターン " '  ファイル名とfilename.rsplit(' ' 1)[ 1 ] におけるALLOWED_EXTENSIONS 

@ app.route(' / '、メソッド= [ ' GET ' ]、strict_slashes = 偽)
DEF indexpage():
    リターン render_template(' のindex.html ' 

app.route @(' / '、メソッド= [ ' POST ' ]、strict_slashes = 偽)
デフapi_upload ():
    ログオープン=(" error.logファイル"" W + " 
    FILE_DIR = os.path.join(BASEDIR、App.configファイル[ ' UPLOAD_FOLDER ' ])
     ならないos.path.exists(FILE_DIR):
        os.makedirs(FILE_DIR)
    印刷request.headersの
    印刷 >> ログは、request.headers 
    F = request.files [ ' ファイル' ] 
    postLang   =のRequest.Formを。得る" ラング"、タイプ= STR)

    log.close()

    もしfおよびallowed_file(f.filename):
        FNAME = secure_filename(f.filename)
        EXT = fname.rsplitを(' '1)[ 1 ] 
        UNIX_TIME = int型(time.time())
        新しいファイル名= STR(random.randrange(0100012))+ STR(UNIX_TIME)+ '  + 内線
        f.save(os.path.join(FILE_DIR、新しいファイル名))
        であれば、CMP(postLang、" chi_sim " ):
            strboxs = pytesseract.image_to_boxes(Image.open(" は/ var / OCRhtml /アップロード/ " +新しいファイル名) 、のlang = " chi_sim " 
            strdata = pytesseract.image_to_string(Image.open(" / VAR / OCRhtml /アップロード/ " +新しいファイル名)、langは= " chi_sim " 
            印刷" 中国" 
        
            strboxs = pytesseract.image_to_boxes(Image.open(" は/ var / OCRhtml /アップロード/ " + 新しいファイル名))
            strdata = pytesseract.image_to_string(Image.open(" は/ var / OCRhtml /アップロード/ " + 新しいファイル名))
         を返す {(jsonify " エラー番号"0" MSG "" 成功" "データ":strdata、 "情報" :strboxs})
     戻り jsonify({ " エラー番号"1001" ERRMSG ":uは" 失敗" })

であれば __name__ == ' __main__ ' 
    HTTP_Serverの =てWSGIServer(('' 80 )、APP)
    HTTP_Serverの.serve_forever()

 

おすすめ

転載: www.cnblogs.com/HadesBlog/p/11564346.html