- 在线时间
- 7 小时
- 最后登录
- 2021-1-20
- 注册时间
- 2021-1-9
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 23 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 10
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 7
- 主题
- 7
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   5.26% 该用户从未签到
- 自我介绍
- 我本名为我,那就是我
 |
' h4 x W9 A* [# X2 I8 x. @
 - #!/usr/bin/python
- 0 ~/ A( }& J$ [# z# -*- coding: utf-8 -*-
- / T$ h, y- ?( q+ \: v; i0 ?4 U3 | d* i, W. P2 B/ ^
- import base64
- * U' x, T8 j$ M0 p* A6 j$ b& Gfrom os.path import exists
- 0 W, `! N2 i\" F( C+ g. z4 S$ Q# Ufrom tkinter import Tk
- % W: m; B2 b g1 Y5 Bfrom tkinter.filedialog import askopenfilename9 { @0 i1 ^* h4 S# i# f
- from urllib.parse import urlencode/ q/ D( r7 x* d) S& C0 s! i. L1 ~
- 0 O' n8 r b. [* [! M) N
- import requests
- $ i7 D. V4 { u% _
- 8 f0 h& E% F5 L! z8 Z\" k9 I- t6 F9 X! u* A$ r2 P( E
- def Dialog_box():$ g, x; D$ P! q. \' o; }+ D
- root = Tk()
- $ l/ Y: H/ d, S; b: g: q; A0 ?% d root.withdraw()
- 8 W; _$ }7 } B1 A. v9 T5 r4 \2 p1 y0 o8 Y o7 A
- filetypes = [(5 M: R3 {9 k) o: A! W2 p6 |
- '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),; i( m9 b0 @5 l
- ('所有文件(*.*)', '*.*')]- o# W+ Z9 I* V2 e5 {/ y, d\" `
- 0 f' B! n+ A n- h% [ file_path = askopenfilename(filetypes=filetypes)
- B$ q+ }% R+ `* ^0 e4 W return file_path7 g4 f2 o7 K5 R) D% A
- , ]; h: m\" ~& x4 o9 g5 ]% v. X% I6 R7 O+ }
- def Read_file(file_path):
- * s% `7 J2 |; h1 e1 Z7 S1 ^5 U9 G- i with open(file_path, mode='rb') as file_object:
- 9 w8 N+ A5 \7 p1 C4 k' J9 I contents = file_object.read()8 c4 D1 { Y8 S: k
- return contents.rstrip()
- - Q& O+ s2 {* j. D8 b5 ~
- / `& O/ c, K5 N2 X
- % K5 c2 M o; L, r+ c ddef Baidu_ocr(binary):8 p8 l$ _3 v- R) P! T8 y
- url = "https://aip.baidubce.com/oauth/2.0/token?"
- \" E. r, m& Q! n+ v: c9 s: r data = {' N( v, x! a3 u, J G7 ]
- "grant_type": "client_credentials",
- $ |: U! L U5 D1 ` "client_id": "", # 必填
- \" f' y5 H/ G1 E* S% [ "client_secret": "" # 必填
- ( ^# f* H& A, F* {+ X J; U1 l }
- . ~/ _: ]! w0 B0 J\" L url += urlencode(data)( p2 m9 W! N\" O; z1 [
- response = requests.get(url=url).json(): y7 m* J' M$ t0 e) d$ K
- access_token = response['access_token']7 _/ X& H) @( Z0 T6 M$ f
- 7 Y2 x, t3 @- Z: t4 k& L! w S url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token' v, b% Q' t5 B. x' s8 F4 Z6 b
- post_data = {
- 8 J- O. g6 f1 t- i9 U) q0 k- F "image": base64.b64encode(binary),, t! p/ D% o) p; [' U+ u
- "url": "",
- 4 }* a/ O! {8 _, W+ l\" C8 h2 G: H "language_type": "CHN_ENG",# @: H& N5 h, Q' V; w' t
- "detect_direction": "false",
- 8 T; F: b4 }& M5 q7 w; s/ T "detect_language": "false",8 w% k) h4 o7 }9 V
- "probability": "false"8 [& K o t* d6 Y. e
- }1 G% ~' @6 O% W4 `+ @, p4 J( v
- response = requests.post(url=url, data=post_data).json()7 f# U( ~( S) a* E
- num = response['words_result_num']9 N( V% k\" N- s\" S' S
- result = ''# i+ J2 x$ j* P: Q
- for i in range(num):
- - a& E0 d) A; ]0 v; r8 l% z result += response['words_result'][ i]['words'] + "\r\n") E0 @# K$ M! w- {8 |3 K& X% k
- return result( P0 W5 H$ b7 z3 s/ l
- & A- _9 K7 s7 b* {8 n
- 0 d. ?! s) g8 a( wif __name__ == "__main__":: b) {- n2 M8 J# i* g
- file_path = Dialog_box(): v: _* x! u$ S: e3 f
- if exists(file_path):
- 0 `; y. Z- N S( c; |# G' x data = Read_file(file_path)
- ) e% F* P; p* t% A$ C5 ] print(Baidu_ocr(data)) n, P% p3 A2 ~. F
- ; M4 z: [9 N, o' `0 i
& y" ?4 s$ k# \+ f1 |+ C! B! X4 Z
$ `0 d$ W2 |* G/ K2 w9 S a0 ~
# S9 T+ Z& I! Y, F4 }% k* D7 q4 kPython交流群:1047602540
- d( x! u$ M6 O, w @ |
zan
|