- 在线时间
- 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 s% C# y4 T! T- p, A3 b3 ~ - #!/usr/bin/python
- $ m9 S% A* _. C+ p\" N# -*- coding: utf-8 -*-
- Q4 `\" A\" g w0 ]8 x$ U1 R
- ( Z) T1 d+ w& ~: n }1 I% wimport base64
- 5 K! e& ~% O% K: Afrom os.path import exists; f$ u- j: @) R _1 x7 D/ R8 d\" ^
- from tkinter import Tk' ~* w* @+ d0 J- J1 H: `' B
- from tkinter.filedialog import askopenfilename0 v( C7 Q* ?0 c& `( q
- from urllib.parse import urlencode8 g- G1 x; E7 \* Y: W: Z; C, B3 j
- , c: x& A0 |( X3 c. J: Mimport requests1 k A0 z( J# b0 Y' d* N
- $ n; g5 Z7 e3 G\" v w# e6 ]# E\" ?6 T3 p
- * I\" N/ `, C# d2 @; B8 u9 {def Dialog_box():. Q7 M# ~' b9 O) b9 ?# G\" M' _/ v
- root = Tk()
- ; M4 N$ }- L* _/ M root.withdraw()
- & ]$ j7 I6 C; e% h( q% R F0 e9 X- r% _
- filetypes = [(
- ( ~* `$ G5 ^8 S '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),
- 0 g8 Y& {: F* Q3 m( _) `% O( l ('所有文件(*.*)', '*.*')]3 G0 t9 B- m; Y! J
- - ^4 Q: U/ K; v. i, t8 c2 z- s file_path = askopenfilename(filetypes=filetypes)
- - J6 N3 @; W& W- _ return file_path
- - c2 K* q$ W9 N& v0 t
- 7 L& l2 z4 ], Y ^' {: U$ L
- 3 h6 U s }- L0 E# i\" ?def Read_file(file_path):
- , r. L, ?\" L4 s) S( b4 R with open(file_path, mode='rb') as file_object:
- 8 n' Z* C* h1 d7 f/ v' k2 g; B contents = file_object.read()1 M0 R8 y3 T9 ]+ i% Q) F
- return contents.rstrip()! g$ ~\" M2 v: t) N
- 1 R% S( ^8 P0 ]+ Q+ k2 M
- $ Z9 d; }& K, L$ F# o
- def Baidu_ocr(binary):5 g; x: [- O4 P+ k; x3 J$ L
- url = "https://aip.baidubce.com/oauth/2.0/token?"
- ( U! B* _. J0 f+ l% ] data = {
- . d7 {1 t- N% W\" Q+ h5 I "grant_type": "client_credentials",
- ( J7 ^; A4 M- z: I& M0 r "client_id": "", # 必填
- + f/ ~+ w9 @& U* u% Z8 q "client_secret": "" # 必填- V# M0 g+ G8 O/ K
- }+ d4 k5 j/ K1 N2 |! U7 b7 s- F
- url += urlencode(data)
- 7 b D) U* `4 c5 `. A response = requests.get(url=url).json()
- 2 L) t# B5 Y' Q& t6 k access_token = response['access_token']) e, \' ]: d/ T8 R+ [& Z
- & n: t+ T; q1 N9 y$ v4 z4 O0 ~- a% \
- url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token( g9 z. V7 @; c
- post_data = {5 d: t) q0 Y# r6 R, ]( u& K- @
- "image": base64.b64encode(binary),
- + Y6 \\" \7 c\" m3 F# X "url": "",
- ! u& o1 k: b! i* J! C: @ "language_type": "CHN_ENG",; v! l; V, J, T, x+ G# `
- "detect_direction": "false",- r9 P9 b% o0 t, z
- "detect_language": "false",
- ( [% H+ a, i7 I, \* n "probability": "false"$ h) p1 E/ Y& v7 r* L
- }
- ' g# R1 I8 Y( m7 t response = requests.post(url=url, data=post_data).json()
- 4 N% U5 Q9 d6 }! P num = response['words_result_num']' E& q\" t0 ?6 u3 Q; z8 T
- result = ''
- - B' D1 D6 w e* W+ z6 @& S for i in range(num):
- 4 Q' N( `# K1 m result += response['words_result'][ i]['words'] + "\r\n"
- 5 ^$ _# [* e0 G \ return result5 b) `0 v0 ]3 w/ p9 b* _
- # ^3 ]2 n9 A ?! u* F( K7 s/ W# u5 ?$ G\" z1 v3 \. t4 s
- if __name__ == "__main__":: z0 \( X\" o/ \0 E
- file_path = Dialog_box()8 X; o- r% L# u& X1 l! y
- if exists(file_path):
- / }( L9 |2 T1 v% ]. `/ Y6 w data = Read_file(file_path): T0 F0 T% |2 B6 h; Y
- print(Baidu_ocr(data))# h; S, s0 T; C7 p' K
- 5 M+ _6 h0 M/ c\" Y: t
+ z3 L0 t7 E p3 N1 u! a: `. E; _+ B0 i6 q; t) G3 A- i
( b+ e+ N/ g: K+ n; N; R' LPython交流群:1047602540
n. ~5 {, B) g/ {0 { |
zan
|