- 在线时间
- 7 小时
- 最后登录
- 2021-1-20
- 注册时间
- 2021-1-9
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 23 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 10
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 7
- 主题
- 7
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   5.26% 该用户从未签到
- 自我介绍
- 我本名为我,那就是我
 |
% d$ h2 c' }/ ~6 u, r - #!/usr/bin/python# M% a9 D9 c! o m) W5 y
- # -*- coding: utf-8 -*-
- . \& x! ^, F, H% G+ n7 N* }2 |6 V3 L v0 I, [+ y* m\" O
- import base645 A y* g1 z8 ^$ P6 [
- from os.path import exists
- ) Z4 h# d- V& k7 cfrom tkinter import Tk
- 7 ] x3 h% Y% |# f3 |\" P( h. e/ H\" m Rfrom tkinter.filedialog import askopenfilename
- 5 M! u! d: R0 e0 S& q7 E$ Jfrom urllib.parse import urlencode! O3 ^9 f6 C' w* ^4 x
- $ W h- g2 w* T! `5 E5 t: dimport requests/ r+ ]: s N$ e7 x* n0 m, N% `
- + [4 u2 y7 P, m! K3 g* {# C
- \" p- ~\" F* ~+ G+ [: v# t6 ndef Dialog_box():8 M3 D4 u e' h1 w6 k0 h
- root = Tk()
- |# _, U% {; }/ Y( |/ U root.withdraw()
- 1 Z\" I# }+ ^$ p( M\" m7 F$ w
- 5 y* k% k8 T' D$ p, d filetypes = [(
- + g) L. h9 u7 @ @- {* u '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),, i) E! p3 D( x% E, L
- ('所有文件(*.*)', '*.*')]
- 8 K; Q5 b* H: W
- - A6 X% d0 x3 e: T file_path = askopenfilename(filetypes=filetypes)
- : {9 n$ X4 \$ b8 d5 a return file_path; c$ v' H( X' z5 T* C
- 9 H! r% m* F\" \4 n* G. p
- & K\" k! h% i- h4 j& S F7 \def Read_file(file_path):
- ! o n7 ~6 M\" O q) ]1 B3 L with open(file_path, mode='rb') as file_object:
- % y3 D( ], A. g+ R$ [$ ~ contents = file_object.read()$ c, y\" ?, U' S4 Q4 W# g' C: h5 Y
- return contents.rstrip()
- 9 J: e& w# c7 w! P0 l% y9 m( d( P& V
- 6 ]8 T& f$ ?! L9 ^% M
- def Baidu_ocr(binary):
- \" B/ E) ?( Y2 H2 t9 r! j& F url = "https://aip.baidubce.com/oauth/2.0/token?" r& D7 r+ m5 x9 K0 k/ }: E2 C9 g* v
- data = {
- 0 j. N, ~5 x t. W "grant_type": "client_credentials",9 T6 L' L/ w) J9 m+ c5 h
- "client_id": "", # 必填
- , ]4 A1 U- u- a. a "client_secret": "" # 必填$ x# {, }, o4 l
- }+ z$ F# h5 P5 O& \
- url += urlencode(data)
- 4 F* C% |3 W% |! I% y. c, n$ ` response = requests.get(url=url).json()
- ' c\" ~, c* Z# y; K# y- w\" E access_token = response['access_token']; y6 u! Y( y( ~% j
- ( {1 ^; z F+ D7 c0 x url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token
- & |& R% {9 N# [! I( J0 w. x7 G+ Z post_data = {2 q, C1 c! G) L\" Y. L* C( p( I
- "image": base64.b64encode(binary),; b- p b$ \9 Q
- "url": "",4 p6 C# }- i6 ?; K3 i5 {8 G9 l3 ?& H
- "language_type": "CHN_ENG",
- 7 d$ k0 D8 n6 c& G- \/ L. d$ h! v "detect_direction": "false",1 [2 z4 P! I6 Y {, o R, ]
- "detect_language": "false",- q0 \8 C- r9 j8 j: g( a$ y
- "probability": "false"
- 7 A9 |+ z, a* {' F }
- ' O; [3 R9 I+ ] response = requests.post(url=url, data=post_data).json()
- / ]) Z1 d3 F* i' |5 g1 n5 r& `. A num = response['words_result_num']+ Q- C; u8 v( c4 v- A% @8 e
- result = ''- ~2 `6 G4 r* \0 l0 a2 C$ }2 D6 K; i
- for i in range(num):) I% O4 o: ^1 z1 M% a Z
- result += response['words_result'][ i]['words'] + "\r\n"
- ) \, G; n& J7 s) C8 M) x return result+ x1 G9 {9 V2 d; |
- # g2 v\" v6 v1 a5 h1 _0 n% }/ w- T: o; {) m5 j) F
- if __name__ == "__main__":
- $ p) R) _0 e\" Q S& w$ g file_path = Dialog_box()
- . K% [# `! m' y# R if exists(file_path):% I; C9 d: a! u( \
- data = Read_file(file_path)
- 3 `/ y1 D/ H# C, c& U' d print(Baidu_ocr(data))
- 6 q) l\" \) U7 j: q6 }: k. y0 ~! v& t! P
4 r; d7 J0 `/ A" ]
1 q! w) b" s# j
% y* C$ G2 t( X- Q4 l
Python交流群:1047602540 ( s" ]( i6 l% f2 R
|
zan
|