- 在线时间
- 7 小时
- 最后登录
- 2021-1-20
- 注册时间
- 2021-1-9
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 23 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 10
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 7
- 主题
- 7
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   5.26% 该用户从未签到
- 自我介绍
- 我本名为我,那就是我
 |
1 V1 \ U$ A* _( F, g - #!/usr/bin/python
- ' ^, Q% ]5 B# U/ M& V8 X# -*- coding: utf-8 -*-' ?) |' |4 L3 x) Z0 i\" ]7 H/ A: R
- / t: b4 G( N! h* n: R' L% fimport base64
- ! e* M\" I: ^3 V/ }8 efrom os.path import exists6 Q/ x1 s/ a/ N% S
- from tkinter import Tk
- 7 x, w+ w4 u( }0 J6 u Kfrom tkinter.filedialog import askopenfilename4 n9 Y6 R. M* x* k r+ g9 D0 h
- from urllib.parse import urlencode# k, k$ r) r4 M4 U' s; V3 K
- % C& r& f6 q/ I8 q fimport requests
- & r# M8 \) p* ~5 I% x+ I- o3 u3 @, j9 P' X7 n
- # z% J4 z+ M- O8 u4 p7 o: Jdef Dialog_box():/ B' ]$ d3 _( v7 q6 J9 b
- root = Tk()
- . A* p% K$ S: e\" J# X4 M- f* p# H1 \* _ root.withdraw()/ k; F* c R: h0 F5 F, @ E! q
- , x6 G4 F0 W. e' `; Y
- filetypes = [(
- 5 X5 k+ Q- t+ z6 j: e '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),
- 9 n# _\" N9 c\" z9 x3 m ('所有文件(*.*)', '*.*')]3 e# i: q7 p I
- 6 X3 K7 j' v- @0 I( B8 h8 z3 o( @ file_path = askopenfilename(filetypes=filetypes)
- 6 N7 F( j+ T) l return file_path
- - S6 ?( P# ?4 O/ [5 h- y3 h8 h0 w% z, u. \ o# L) Y( b) T0 e! O
- 0 Q\" s3 k; T/ s7 @% Y1 h
- def Read_file(file_path):
- . a8 {3 f& f# U2 J with open(file_path, mode='rb') as file_object:
- , o$ C0 d6 C9 K contents = file_object.read()2 z( `: S7 |2 A1 L+ n0 ~% i) k
- return contents.rstrip()
- % N7 Z0 h& {$ p( \( Y
- 7 H& E/ k( O8 l: k8 A8 c a: z0 D
- def Baidu_ocr(binary):
- - }8 x% ~: O3 F) S) g url = "https://aip.baidubce.com/oauth/2.0/token?"$ Y0 m6 s' V+ i- R
- data = {- x: e& ]8 m3 C\" ]4 S% @
- "grant_type": "client_credentials",
- . x' W/ `- t/ F( u "client_id": "", # 必填
- ; n6 l' w( `% |) r5 P7 q "client_secret": "" # 必填
- * B& ~* Y2 u% ]* j }
- 0 d) C- y$ Y/ l; `+ d url += urlencode(data)
- 7 Y/ _ }( J. K7 M response = requests.get(url=url).json()5 C& u& t$ o( M1 r
- access_token = response['access_token'], r* `8 k; U( i
- 0 @9 r# S, I8 f: E8 B3 b url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token* P$ R' O9 f, J3 D
- post_data = {8 k' V0 N- ]/ E
- "image": base64.b64encode(binary),! h. D1 f% w) N
- "url": "",
- # K1 U4 m( e @ I9 x5 g "language_type": "CHN_ENG",, h5 ]8 E( \/ ?
- "detect_direction": "false",
- 9 q8 P. R% t' x) D4 \ "detect_language": "false",
- 9 N3 F! H6 N2 M. {$ [/ B "probability": "false"
- 1 Q2 e$ `4 M0 p$ h8 O }9 x1 L7 U8 a. G! m% C. \& s% ]
- response = requests.post(url=url, data=post_data).json()- h5 S8 O. k8 T$ M6 c! Y
- num = response['words_result_num']# v' T+ i9 d! G' D g
- result = ''
- \" s* b& M9 e O4 y) c- y for i in range(num):
- 6 ^\" g- m\" q/ Z result += response['words_result'][ i]['words'] + "\r\n"
- 5 N! t- ~5 X\" T* v, T return result0 g9 O- R; f! \8 V4 ?, U
- . B) u% ?$ b2 m; M* [2 A
- $ k% V0 o# H* q( @& h/ B$ C/ kif __name__ == "__main__":
- 5 J* ^5 L7 ?2 W, [ file_path = Dialog_box()
- \" m2 c/ _# z' s, u- h! L if exists(file_path):
- ; o( ]& B\" [4 Z5 Z- y, E data = Read_file(file_path)/ r4 x7 D8 x\" b+ ~9 q+ Z2 j
- print(Baidu_ocr(data)): I2 ~, o9 \5 F( N2 l0 k
- + L7 E% u8 N; V% ~
# B* a; w" m0 k% Y0 N) I0 E+ ~, z+ W& n
0 |0 \. [# V, d4 N
* k1 x7 p* T" U3 D CPython交流群:1047602540
* p4 w8 K; A. E& R4 ^ |
zan
|