- 在线时间
- 7 小时
- 最后登录
- 2021-1-20
- 注册时间
- 2021-1-9
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 23 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 10
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 7
- 主题
- 7
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   5.26% 该用户从未签到
- 自我介绍
- 我本名为我,那就是我
 |
* C. @& |; |" k - #!/usr/bin/python$ I4 o! B/ y& L' W) O) C/ C
- # -*- coding: utf-8 -*-
- ; c n0 Q9 Q9 B2 m5 o\" S2 ]4 C h8 F9 `8 U
- import base64$ K9 e0 C _: K% |) l4 x
- from os.path import exists
- \" A7 s' f& \2 P* m+ mfrom tkinter import Tk
- * Z4 Z4 n; t& B. E8 G$ a\" Tfrom tkinter.filedialog import askopenfilename( k) y; |- R\" a5 S
- from urllib.parse import urlencode
- 6 [+ O3 M$ X3 T% v2 G4 M% S6 |% k( l7 O+ e, x% f2 [
- import requests
- * v( M2 j+ l8 B2 C0 {9 O
- 2 A w8 d& g& }( ^& N
- , _ ?$ Y, r2 k; U1 _0 h: adef Dialog_box():
- 1 j2 A2 b& i7 { root = Tk()8 t5 u! _0 [5 \& D
- root.withdraw()- L0 ?! h( B8 F+ f3 y( `0 F* H\" b
- & D; r8 ^\" v\" z; l filetypes = [(
- % x2 f; F* ~( M! u3 r, h '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),% B- m' j9 W' ?% q7 J u, I; i
- ('所有文件(*.*)', '*.*')]
- - g8 o; ]6 V$ ?1 Q\" s- a5 e0 \- {1 u6 M
- file_path = askopenfilename(filetypes=filetypes)5 N4 f. a( x3 @) i% n/ v& ~; n
- return file_path
- / ?1 J\" o/ @! K2 P- K# G+ I3 C0 o! E6 S
- * ~- Z$ i2 D3 Q1 d2 P/ Edef Read_file(file_path):3 Z5 ~/ u9 m; R5 r
- with open(file_path, mode='rb') as file_object:( j; D# ^$ ~; }, z& }0 D
- contents = file_object.read()' N: G- a. R; G8 N$ h# L/ `! b
- return contents.rstrip()
- ) @$ _) o9 y\" H3 g4 E# K
- * d7 [1 B$ l9 P! G& r\" f; O0 l y5 V
- def Baidu_ocr(binary):0 n. ^4 W3 S, @) |\" z
- url = "https://aip.baidubce.com/oauth/2.0/token?"$ n) E& W7 _1 x% @1 ]* k
- data = {' T$ o4 [1 p q6 n1 X0 H! o# \
- "grant_type": "client_credentials",
- W- h+ f1 ?\" H: z. v& F+ d/ s "client_id": "", # 必填4 Q9 s3 R- p& X
- "client_secret": "" # 必填
- \" X- U% f. e) i+ _1 w2 I! X }. t3 j: D5 g+ t7 @
- url += urlencode(data)
- % {6 G\" R s. ?\" I response = requests.get(url=url).json()
- ) H% a# z% T- U access_token = response['access_token']5 i, x- s& @\" u) V
- * Z, K; Z/ h! u
- url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token/ n4 x- b+ f, a5 a: q
- post_data = {- _' b6 b, {) ^/ y, w( v
- "image": base64.b64encode(binary),
- % i8 v7 ^ [' ` Q9 T) k "url": "",
- - p+ Q# r! ]4 Q w; Z! ~0 p "language_type": "CHN_ENG",7 o- p. H! A% k) t
- "detect_direction": "false",
- ' y! g, x; G1 b3 k "detect_language": "false",9 w3 S V, Z4 N$ i2 r5 @
- "probability": "false"+ r& g; M! k( R/ A
- }
- 2 _% h1 q; H' ? response = requests.post(url=url, data=post_data).json()- M: ]2 ^4 K7 F* s3 b
- num = response['words_result_num']
- + T2 l B: c3 `5 m4 k1 Y' w result = ''
- ' l% S# A( u) Q; x% z1 J$ H for i in range(num):
- & g% H$ G# X+ {4 p+ s& L) [ result += response['words_result'][ i]['words'] + "\r\n") B* e; ~& J X
- return result
- 0 U3 [ p( q/ o2 Y
- , V! \) r$ k$ G6 B5 D7 x7 e+ Y
- 0 _' _) M- t Yif __name__ == "__main__":. {3 o* g$ O0 m, Q& l& z* n2 i' H/ k
- file_path = Dialog_box()5 I: R$ C0 b, W! b1 Q5 H# Z
- if exists(file_path):
- 3 B' ~. Y' O; W+ p8 U+ H1 |- f data = Read_file(file_path)
- & j5 ~( Q; W( j ?! j% B4 y print(Baidu_ocr(data))
- 1 \: i8 i: M# q
- 8 s+ p( Q0 q* g/ A& g
) D' O" K8 G/ D" b6 j0 X
* z; {9 W" p& H4 b0 h
s$ H b: r7 ~# A( u' a' H
Python交流群:1047602540
+ x% f; V2 q' J; R/ O5 w% A, |. z |
zan
|