- 在线时间
- 7 小时
- 最后登录
- 2021-1-20
- 注册时间
- 2021-1-9
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 23 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 10
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 7
- 主题
- 7
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   5.26% 该用户从未签到
- 自我介绍
- 我本名为我,那就是我
 |
4 o8 M& E3 _, T: N' }2 }% N7 z, O
 - #!/usr/bin/python! ]7 y5 h9 }4 `# B4 O
- # -*- coding: utf-8 -*-
- 8 [: T2 V- W6 H* C1 p1 X
- 6 U3 @9 j8 o8 A% f* Simport base644 W) g) K7 O% {4 U- p, F( t
- from os.path import exists7 q6 d5 U# ?; H. n- [
- from tkinter import Tk% B: H& f3 L# L
- from tkinter.filedialog import askopenfilename4 Z& \- k7 c) n\" O
- from urllib.parse import urlencode( o* c- e9 F) D, x1 X* ~: W
- ' j4 g- |3 O9 J Pimport requests
- ( X& {% u- d& B$ X\" n* X) s; q$ m$ Z9 v. X; @
- % o: P m9 l$ g# \def Dialog_box():# v4 ^. S1 D& H: }0 o
- root = Tk()- H# M$ n8 |. m& L0 V3 w
- root.withdraw() o- _& n6 k2 v( L7 H$ F4 K
- # v- K( v- n5 u8 L5 c* ?- I filetypes = [(
- 5 y5 C4 }& R5 V+ X# Q5 o! I '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),
- & f: g& T2 X. [& d6 g. b) B( } ('所有文件(*.*)', '*.*')]
- ) F2 l! H8 z% X- v g
- 5 P$ r5 s! Z) T3 [7 v) z# d' l file_path = askopenfilename(filetypes=filetypes)
- # V. U( }. t) q& j. v6 g, i! F, z return file_path) S) ?1 [( e7 Q# F. n2 f5 U( V
- ; G' Y$ @2 |\" v& }# f A; g; i. Y, n8 a5 r$ l6 O9 y l% f9 O
- def Read_file(file_path):
- ( C: k/ B; S! K' L: V6 D& _4 m with open(file_path, mode='rb') as file_object:5 D& G7 D& g+ {9 I3 N. @7 C
- contents = file_object.read(): ], f1 j& T3 r) q' I2 }
- return contents.rstrip()
- 5 M( s8 `8 @% a* `( O- ^/ _8 g8 U+ i; h6 \- N# @+ Q+ a6 h9 q* K
- ) a+ D, D- c4 x$ Vdef Baidu_ocr(binary):
- ! g$ K3 v% Z; r* P; N0 T# g1 S) c url = "https://aip.baidubce.com/oauth/2.0/token?"
- X, H0 J. `! U0 E7 { A\" a data = {
- 4 M2 G3 t$ j0 c) ?4 K- ] "grant_type": "client_credentials",
- 9 u! @/ H [, y: o8 S "client_id": "", # 必填
- 1 t3 M$ E6 X' n) q+ C\" H: J S "client_secret": "" # 必填2 p2 }4 ? X1 |8 y2 |. G: E
- }
- ( f* O$ m+ y( z$ ^4 m: I2 Y) t url += urlencode(data)- K8 N2 x* _! V
- response = requests.get(url=url).json()- M$ I, o. j( P+ O% S3 D8 g5 H2 X) S- Z! T! G
- access_token = response['access_token']3 _& q' i. q7 A7 I\" J5 e
- , `4 D6 a; d/ \\" v/ k |\" ~
- url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token% G2 x! O x, G a# J& M4 g7 P
- post_data = {9 k! y# \1 i\" j! Q8 A. \% j
- "image": base64.b64encode(binary),
- ( A: I; t\" q) h4 s J "url": "",5 t: I. f8 y) R5 e9 z
- "language_type": "CHN_ENG",
- ; N4 u0 o+ s3 I) y- e "detect_direction": "false",* p t% Y9 }0 F# }' b, r
- "detect_language": "false",6 n8 T( {) e# [\" M4 z, ]
- "probability": "false"$ V- \/ y7 o- s) S& [, P- i
- }+ K$ h+ u; _4 O$ g$ d% d\" K% T
- response = requests.post(url=url, data=post_data).json()
- 1 X: V! F) a0 ` num = response['words_result_num']* `% S3 o- S3 ^1 B3 M. k9 B) a8 c
- result = ''
- 0 P3 O- q& M6 l' X3 P for i in range(num):3 S8 A' c, |+ E. k
- result += response['words_result'][ i]['words'] + "\r\n"8 ^( s8 @0 m\" I4 d
- return result( I8 w; N# z\" [$ x7 c# \
- 8 c7 z- d7 z9 V' o
- 5 X- e' p3 X4 k, C\" ]if __name__ == "__main__":
- \" l' N/ j p: M# l w+ { file_path = Dialog_box()* e3 `; v7 o) D
- if exists(file_path):9 V\" Y; D5 F6 y. `7 x$ n
- data = Read_file(file_path)/ G, o+ J% l9 E, L
- print(Baidu_ocr(data))
- 6 P! P+ e\" t& r, P: G8 q7 ?8 Q/ l T. u/ d' U7 G8 Y
! l7 r. B; ~; p+ |# c+ C' c8 V
* |( q" x0 t& x& k( }4 \
0 \# {" n9 ?$ g$ k4 M3 T
Python交流群:1047602540
3 W' t* K5 d1 K6 x, w8 I" r, n |
zan
|