- 在线时间
- 7 小时
- 最后登录
- 2021-1-20
- 注册时间
- 2021-1-9
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 23 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 10
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 7
- 主题
- 7
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   5.26% 该用户从未签到
- 自我介绍
- 我本名为我,那就是我
 |
, W4 H& B; t6 g& N - #!/usr/bin/python
- - d: ?/ N7 ?, Q5 m# -*- coding: utf-8 -*-7 |9 s4 G0 i6 o6 k8 r \% T
- 8 `4 V6 d+ h; @* u& { [import base64' O; n* t5 s& O6 X
- from os.path import exists% h; \ ?\" Y1 }, T& }) E/ J, g% |
- from tkinter import Tk* O8 b% u q: G) D# ]! g. d
- from tkinter.filedialog import askopenfilename0 S( y- { C1 \2 D$ k: N, W6 V
- from urllib.parse import urlencode( a* |: }1 n3 I }, b- _# c
- 4 Q5 I6 Y' I* R
- import requests
- % f$ P' G4 T1 B$ y4 m( ]* C0 `: B
- - c; b! l! C8 \9 z4 M8 C Q
- ! p6 t. l7 |& w' ~3 \def Dialog_box():# D; q' [6 t* q) X# U
- root = Tk()
- 4 X8 ?: {1 Z& }+ M0 g( p& E$ J root.withdraw()1 T/ p! _0 x1 _. t8 I& S
- / b! \; M1 @, }8 l; s filetypes = [(; o\" E; U, H' j
- '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),' N) D/ Y) O3 T! l0 y. W; Y5 x
- ('所有文件(*.*)', '*.*')]7 X4 Z8 v; k7 O4 O
- 0 c9 e- Y: v7 I% u `3 L
- file_path = askopenfilename(filetypes=filetypes)
- 2 L' F' R6 x$ z+ ^% Y return file_path
- $ ?5 }1 z+ v/ Q
- 8 X$ g! O* I+ e\" e) |! ?5 z9 F6 ~1 E' u+ _/ N. P
- def Read_file(file_path):
- . r. u9 |+ @0 V with open(file_path, mode='rb') as file_object:\" n5 _! J9 Y5 I; N9 K6 T3 p2 |\" a
- contents = file_object.read()
- / Z* @5 P6 U2 P0 @# D return contents.rstrip()
- $ h b. A) ?, M) J7 @7 B8 F) `6 [* q( D) i, H; u+ C7 ~
- : M* o$ n) s& l: L7 f. {
- def Baidu_ocr(binary):+ l8 U `- v# s( a7 S
- url = "https://aip.baidubce.com/oauth/2.0/token?"$ z( l$ ~3 x1 B* h' {5 Y& G8 {7 |/ z
- data = {
- 3 k% l, v, R\" Q0 {% x1 H/ ] "grant_type": "client_credentials",
- $ k/ E) b, m/ r2 ^7 A1 W "client_id": "", # 必填- M# ?+ Y1 g( j: d+ @# F4 S
- "client_secret": "" # 必填
- % Q9 A\" \0 w( u! \; L }) ]( e L; c q$ v\" u$ u; u
- url += urlencode(data)
- ' g; g, @3 u# b$ k d, I* O2 Q) R response = requests.get(url=url).json() t* l; |7 u+ W( q6 K! D4 N( a8 o5 U
- access_token = response['access_token']# t\" K1 Z- P# e: ]. j. ]
- 1 V( b8 j0 s6 e1 U$ I. O _: `- e$ v y url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token
- - t- V* Y+ l, A/ [* G* I) n: m# M post_data = {
- & n! D: l5 L( [/ |9 P. G. T4 \ "image": base64.b64encode(binary),& f K6 e# w1 s\" q7 Z/ j
- "url": "",
- 7 \\" k# ~) k5 I& `1 s, z) H+ S1 W "language_type": "CHN_ENG",* H M) k0 W) s/ w
- "detect_direction": "false",
- ( w6 m. L( n3 m$ Y$ W+ W: D "detect_language": "false",
- ) \5 W) _6 F: a! F "probability": "false"
- 0 }* ^1 a0 y6 |4 W1 ~, f }
- 3 `4 N# J( k0 ]/ g& k$ V5 q\" q response = requests.post(url=url, data=post_data).json(); D; P, \4 k9 {* y9 _# u
- num = response['words_result_num']\" H4 V& [% l9 n7 c1 D x
- result = ''
- 4 n9 w t, x p( F for i in range(num):, c g1 Q0 A\" b. L) A& d
- result += response['words_result'][ i]['words'] + "\r\n") [\" Z- x- o. }# p0 b1 }
- return result$ i0 D6 x/ G r+ i
- 1 `\" N8 h1 N5 U\" L- d9 ]( K
- ) Y# h9 S9 ~' b5 Lif __name__ == "__main__":& ?/ Q) u( B\" y6 K) _3 j
- file_path = Dialog_box(): H& d- @3 n- v0 n+ w) l
- if exists(file_path):( o2 z D \2 z9 [
- data = Read_file(file_path)
- * z* d0 q8 m3 Y* ~: |, j$ v print(Baidu_ocr(data))
- ' M6 j; M$ D- d: i Y2 M\" c\" ]+ c( r4 ], x4 x- ?
R4 A" \ @% I' |8 K) T% n; {! z
# F* |' Q2 h) w/ V. D# A# h7 I8 ~9 B8 E( s6 N- Q
Python交流群:1047602540
+ q, x! Y, o# f6 ]0 U: j9 C7 Q |
zan
|