- 在线时间
- 7 小时
- 最后登录
- 2021-1-20
- 注册时间
- 2021-1-9
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 23 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 10
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 7
- 主题
- 7
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   5.26% 该用户从未签到
- 自我介绍
- 我本名为我,那就是我
 |
% O4 [- z, H. w" \2 g+ V
 - #!/usr/bin/python
- 0 o m) R9 n& j0 l: i# -*- coding: utf-8 -*-+ J6 B( X- a0 s+ v
- ) z& ]6 |0 f, L\" n L- o
- import base64% e0 d( W/ u/ V9 i
- from os.path import exists8 c0 a/ V9 {/ w
- from tkinter import Tk/ ~7 P2 q! A5 y5 k! n& l6 v% C
- from tkinter.filedialog import askopenfilename0 w0 v$ } G2 U) M5 v! f
- from urllib.parse import urlencode0 w% _1 S/ w2 i- N( ]2 ~4 s
- 3 e1 I4 e% U% r9 Himport requests& w\" _1 c5 R1 K5 E; V/ K
- $ e/ y2 T0 }( R: u1 j' j5 s) o8 w0 v2 E6 p& v$ R8 T6 F
- def Dialog_box():+ f! t/ ? L, \& D) B4 J& |* y' ?
- root = Tk()4 q# w/ `- w+ w. F\" w5 A
- root.withdraw()
- + q2 E' |$ t5 M! S
- v# ^7 g+ m; q/ P filetypes = [(
- , {9 @% z. |+ A '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),1 |( b% s4 k\" f% ?- h7 s
- ('所有文件(*.*)', '*.*')]
- 9 z9 a3 m7 j3 h7 P; B2 q7 J. ?
- 0 I7 x Z4 g\" o+ r9 u+ Q file_path = askopenfilename(filetypes=filetypes)1 e3 Z7 }' ~9 u* t- z; b
- return file_path3 j! A! I/ T% v
- 8 ^8 V- Q) j6 q) I+ a
- % v: m$ ?& ~3 z* c4 F7 p( |. A/ ?7 p$ Mdef Read_file(file_path):
- 5 X5 ]5 Y) `9 v. `: u* c with open(file_path, mode='rb') as file_object:+ Y# T\" b t' R& ^\" |. x% K& [3 x ^
- contents = file_object.read()
- 0 E0 F; J* i/ M h\" ]! _' O1 c return contents.rstrip()+ h8 h4 H2 w/ n4 F) H
- % H) v9 E' i9 E8 c* y; S\" \1 k; h6 m
- 6 i( P2 ^& { U6 [# K
- def Baidu_ocr(binary):' X E, l6 u k- R% @
- url = "https://aip.baidubce.com/oauth/2.0/token?"2 [! g: Z6 O$ n
- data = {) L% l; D9 t) {* d
- "grant_type": "client_credentials",4 \& Y! \9 n) R& h7 Y# u4 q# J
- "client_id": "", # 必填2 z; t9 l$ \8 y# w
- "client_secret": "" # 必填/ L. R( |5 S2 W8 P
- }
- 9 c5 k& [; {( [% |! \ w url += urlencode(data)
- ( ^5 u) {# y( r, l- o; f response = requests.get(url=url).json() ~$ t. z* X _
- access_token = response['access_token']2 u: U$ ]# z1 {5 R
- . ^4 t# a4 X- ~( [
- url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token' {9 P; Z: i; u* h; `/ K% M! A
- post_data = {& s t/ C\" ~3 x- ^' q) I
- "image": base64.b64encode(binary),
- ) W1 Z w\" a0 B* p "url": "",, o' h( R$ t# v/ z8 O- B
- "language_type": "CHN_ENG",
- 0 y/ e% [) `1 n/ k' F: v! g "detect_direction": "false",
- * g2 S\" V/ r+ C9 a/ B0 ]! n "detect_language": "false",
- . m- {& w2 q1 e% z% M: m( B W! q "probability": "false"
- ' z( u |/ P6 r0 q- \ }! c\" r) H4 I3 ?' @' d5 I4 u
- response = requests.post(url=url, data=post_data).json()
- 4 s8 W) \* W& @, h' i1 h$ w num = response['words_result_num']8 A4 P+ Q0 N6 B; y0 Q1 o/ O
- result = ''7 u7 i: p\" U f$ | i' G
- for i in range(num):8 J& |3 n4 s! R% ?( p
- result += response['words_result'][ i]['words'] + "\r\n". i- I\" m0 C: M: e2 P
- return result) u* e) x2 ?; A- T
- 6 {5 r% @9 f N: `5 G: a# K, Q5 y2 A7 o T( G/ n; f0 K6 g; R
- if __name__ == "__main__":/ B, r) i+ X5 T c5 q7 l
- file_path = Dialog_box()
- % H& Y6 c9 g* V\" }: k if exists(file_path):$ G, A$ y% \ z1 {! O& l% C
- data = Read_file(file_path)$ T+ ? J% g: D+ C& R, e
- print(Baidu_ocr(data))& w! |# R# m) r+ T; K0 { r
- 3 w; [, v$ p) i- v
, a" b7 A! c+ Z l
. [$ M* L! Z( J5 z' d& K) w1 v2 V6 v$ j6 T2 I+ y( x6 \
Python交流群:1047602540
. i! e2 s$ y. N3 k0 J% F1 k |
zan
|