- 在线时间
- 7 小时
- 最后登录
- 2021-1-20
- 注册时间
- 2021-1-9
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 23 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 10
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 7
- 主题
- 7
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   5.26% 该用户从未签到
- 自我介绍
- 我本名为我,那就是我
 |
8 S; B. K7 }* K9 N - #!/usr/bin/python
- 3 B1 }1 ^6 \; ?# -*- coding: utf-8 -*-: Q( f _) v/ f6 ?/ c
- 3 m, i5 F( r) J Nimport base64
- - s( o% _! }: E+ n/ u1 hfrom os.path import exists
- , r& y& D( r\" c& u1 f1 f$ p+ Sfrom tkinter import Tk, A# }, v% \$ v! y$ \- J% q Z- F
- from tkinter.filedialog import askopenfilename
- - N$ J/ }9 W: X# _8 b! Z7 D; sfrom urllib.parse import urlencode
- \" ?! ~7 ~7 G, b' Q* j5 b- i B: \+ o% p# {1 e
- import requests
- N8 ~\" n0 m& Z& I! ?! m3 G
- W3 t ?' t6 S# y
- . u; Z3 }) l) K- e9 @def Dialog_box():
- 7 s: n8 ~+ G9 X. O root = Tk()' t) `2 u$ V& \1 b& }9 s
- root.withdraw()6 [* r5 V; j* s8 i% f5 S/ r
- \" `1 g2 M0 o/ C3 X7 G, y( W5 e filetypes = [(+ K0 a# |; q7 N( ?# o/ I
- '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),, ^- i( o% r/ S/ Q6 g
- ('所有文件(*.*)', '*.*')]
- ' W/ L) E8 D3 U
- 9 @( h& e' \4 k$ y% o4 B file_path = askopenfilename(filetypes=filetypes)
- 2 m. A; x: N) P return file_path n$ {2 h( s5 Y; Z7 j5 J0 r
- , R' f8 ~8 R9 T' r7 \1 O
- - b9 W7 D! Q% Z\" n Hdef Read_file(file_path):5 Q% ^9 s6 }: E1 \ U
- with open(file_path, mode='rb') as file_object:# T0 a( k9 T& y) `
- contents = file_object.read(). L# j\" Y% x* a0 E z( v
- return contents.rstrip()
- , V, {+ a# }& _) I+ h4 ^
- $ B7 v! k8 U* W& J# w
- 3 E: s1 Y B3 Hdef Baidu_ocr(binary):& @9 e, W. i/ ~7 d$ O\" w& c
- url = "https://aip.baidubce.com/oauth/2.0/token?"( m\" R4 G1 P- z: U, S! b/ T$ P1 O% y+ y
- data = {
- + |! Q# ^+ O7 h* i; L "grant_type": "client_credentials", N7 a. j& I- q3 v- I
- "client_id": "", # 必填
- 5 g+ A2 e+ x2 ?2 T "client_secret": "" # 必填
- . |, j. z0 s: _ }* L0 X' T+ I: C( A
- url += urlencode(data)
- % p\" G: N$ v; ~! s1 }$ m8 u response = requests.get(url=url).json()4 r% Q4 e3 g3 L5 N* i( s& d N
- access_token = response['access_token']4 s\" {+ @! N' G& m3 y: V
- \" D\" N& Y! Z; v% g i. b
- url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token# C: }) y( y+ \( M k& U! K
- post_data = { X' T: y\" ?' J* r; H1 y
- "image": base64.b64encode(binary),: R, Z, C* A) X- T& V
- "url": "",
- 5 `\" r* s \4 F2 P+ n5 M "language_type": "CHN_ENG",) a: n- S: J! M, j! y' R
- "detect_direction": "false",
- ; ~' H# y2 M' H2 R& r "detect_language": "false",2 d4 Z6 s! `1 b( I
- "probability": "false"3 ~3 l1 f* [! O5 n% d! M! y
- }
- 3 r2 h, h* r9 `5 N\" L' R3 M' E) m: O response = requests.post(url=url, data=post_data).json()) C9 g& Y. l! @
- num = response['words_result_num']
- 4 y$ |* d3 @- K3 b' W1 m4 d9 n result = ''
- 1 g8 B1 Y7 g+ P6 ] for i in range(num):
- |2 A: H5 l S8 \4 T result += response['words_result'][ i]['words'] + "\r\n"0 ?+ d- z/ q$ ]- n* H0 {+ \4 o
- return result: W/ f. @6 b+ b G- i3 e4 \* j\" M2 p
- 1 k) y# J1 P9 Z& r6 u! l
- ! c: I1 X! F6 i' ]! [
- if __name__ == "__main__":; L. I7 }3 @) X8 @3 o4 u( D
- file_path = Dialog_box()* H& `- [5 X9 U1 z! H0 A2 q
- if exists(file_path):: y* Z* w/ N% f& x9 L4 u
- data = Read_file(file_path)9 W3 |: e& I% i& F }6 ?; w
- print(Baidu_ocr(data))' @ r& f' Y\" ~2 \$ S& }& N
- o: R. A& ]+ z0 }- P\" Z+ ` k
7 f3 i3 K& P, A3 f/ z
" S$ B& d: l1 t& T: c/ O3 f* f) i% Z& Y$ c2 \$ O, `
Python交流群:1047602540 9 ^2 {0 |9 G0 h6 t a
|
zan
|