- 在线时间
- 7 小时
- 最后登录
- 2021-1-20
- 注册时间
- 2021-1-9
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 23 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 10
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 7
- 主题
- 7
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   5.26% 该用户从未签到
- 自我介绍
- 我本名为我,那就是我
 |
+ d2 g( {' h) P8 H5 ^" @" R - #!/usr/bin/python
- 4 ?3 q) [& ?5 ~0 H, z5 I9 t# -*- coding: utf-8 -*-* L1 H/ [' o# M
- # a$ k! K; I. rimport base64
- 4 h/ g5 X( `2 _7 ifrom os.path import exists
- % o( J/ V6 h8 M* H: j B3 f# ^ ifrom tkinter import Tk: [0 c! R4 c$ b
- from tkinter.filedialog import askopenfilename# Z8 c7 [, y3 o; e s\" a
- from urllib.parse import urlencode' Z' q8 |; _1 m. }0 z8 O7 P
- ) u% D) w( ~. P6 J9 Himport requests
- % |$ A8 W- x/ _# C# B
- 2 P4 w3 ]8 u6 M% N- o% g! V3 ~\" Q- P1 a: u! g. b. R) ]. ?( {5 R
- def Dialog_box():
- 7 H0 _& E9 j$ x ]+ p3 Q$ h0 M root = Tk()
- 5 v1 g5 z7 L: Y2 s8 C6 L0 K9 z9 { root.withdraw()
- - i' J/ p) k$ e2 f. J0 N# M) y\" x\" a% Q5 V m/ Z' W
- filetypes = [(
- 2 g( e7 y. A S0 ?' k! H '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),
- 2 T) ^. w4 Q. ?* L1 b% c5 ] ('所有文件(*.*)', '*.*')]: b( |; L2 X! D. d, @4 Q
- 8 @6 G l* E+ N X& z file_path = askopenfilename(filetypes=filetypes)
- $ r. b, ^* Q! J: _ return file_path; d# G9 k8 I7 |0 O* O\" \
- P8 N2 E% |& j- M k7 X: t1 x8 [: y7 ^- Q
- def Read_file(file_path):/ F2 C. K( k0 m+ \; u7 ]% b3 S
- with open(file_path, mode='rb') as file_object:( Y* r `6 l+ n+ s$ w# M* a, q
- contents = file_object.read()
- % C/ K3 N ^6 L9 s# P7 b return contents.rstrip()
- % F8 ?9 | m4 D0 }- @+ i( h7 g; T6 D, f( s# ^
- / q& H2 E; \$ u2 L# Qdef Baidu_ocr(binary):
- - l4 l+ N5 F; [5 S7 z0 h* r6 P url = "https://aip.baidubce.com/oauth/2.0/token?", B3 o# h\" {5 t. G! \
- data = {
- ( \& e: c+ H6 b' A& L5 c8 C `& G "grant_type": "client_credentials",
- ; n2 n! C2 W/ H4 k* c! D "client_id": "", # 必填' O% g5 `) r. k7 `7 M
- "client_secret": "" # 必填
- * S) v1 M\" L' _5 K! k }; C: L3 [$ n& \4 ~3 T
- url += urlencode(data)+ `* m/ X- ]( c\" U
- response = requests.get(url=url).json()
- ( B8 O! {3 s) H% U$ b9 B! _ access_token = response['access_token']
- . Q+ f# z, a! I; P0 v1 k
- % @% k/ j9 N1 R\" p\" G/ h' p4 v; k7 f* p url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token$ X6 \8 l0 ^' j% Z# {& ]8 a# t
- post_data = {
- ! _! |5 L2 j# e "image": base64.b64encode(binary),) k' V( k% i5 W+ ^7 {2 u
- "url": "",, q. ]* b& N$ l6 N5 w' }, S
- "language_type": "CHN_ENG", Q\" f( V! O5 U* g! y$ k2 }% \
- "detect_direction": "false",/ |8 U$ L3 f! Q, S
- "detect_language": "false",
- . c( U) l c$ C6 s "probability": "false"
- / z5 h5 @) I# _& H\" D9 T1 c }/ i4 f( h4 \8 k6 Q& ^( K2 C
- response = requests.post(url=url, data=post_data).json()
- \" |2 a+ `7 D4 y3 q& ]1 c% y num = response['words_result_num']
- 4 Q. s9 E9 w r$ j+ E. A result = ''
- \" Q3 W7 \3 y5 a6 a5 [ for i in range(num):
- \" V2 j! N1 s1 `1 J# i result += response['words_result'][ i]['words'] + "\r\n"# |6 j) k. }5 v2 A0 m/ o: i6 w$ P# H
- return result
- - q: X- ~- U% G2 j5 V
- + x, b, Z3 V2 \- t a* d9 b+ K; ?4 ]) m5 M9 W% g
- if __name__ == "__main__":
- 4 n* G: j4 F' t! Y3 i/ {: { file_path = Dialog_box()
- ! n4 b) L4 s+ J- d$ j2 u' x1 U if exists(file_path):0 ]) [% c/ t1 A: ^7 f' i
- data = Read_file(file_path). p3 _3 X+ N0 [3 z
- print(Baidu_ocr(data))4 d6 s\" p& T; b* T P! t7 G
- / P6 a. ?6 u( y6 A$ V
* l. ^. Q# Y! n" M" r/ ~% t6 B) l; m9 w
4 _' ]) y2 Z) k0 l
3 C$ r& K$ f& y8 G2 z/ ]$ hPython交流群:1047602540
3 m1 u) U, r2 B. w |
zan
|