- 在线时间
- 7 小时
- 最后登录
- 2021-1-20
- 注册时间
- 2021-1-9
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 23 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 10
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 7
- 主题
- 7
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   5.26% 该用户从未签到
- 自我介绍
- 我本名为我,那就是我
 |
. N, a! ^3 N3 ?. c9 E- f
 - #!/usr/bin/python0 l\" P\" ~- U) ~7 a
- # -*- coding: utf-8 -*-/ L9 F+ o3 {. ]4 g/ X! Q4 K1 r) k
- . h\" Z! w& E3 X8 J6 Z+ zimport base642 ~ @# e$ ~3 f1 L |
- from os.path import exists
- 3 j7 S8 w9 Y9 Y$ D3 V% Efrom tkinter import Tk
- 5 c/ \4 p9 t( |( ]from tkinter.filedialog import askopenfilename
- & z, ]\" z& b/ t, b3 Zfrom urllib.parse import urlencode
- ; e4 Z( E' l. l, R: O3 @1 W$ P' W4 r5 O
- # x2 ^& e+ X/ o7 ?# ]- [9 Ximport requests
- 8 D5 W* d+ [\" D& e( q' X6 b6 Y4 ?/ s/ q! K* m* ?8 c
- 9 f8 p. h0 i6 M$ Edef Dialog_box():; u! ]# h: f2 B8 S\" }0 q) P6 m
- root = Tk()$ e$ F' z4 I9 _& N' K+ }9 j
- root.withdraw()1 [; O7 Y! L7 J5 {' y- T
- 4 W4 P5 ~' z% z6 S) _( D
- filetypes = [(
- o- F# E8 ]9 H5 z '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),
- $ A0 r; j2 {$ K- T+ d4 |) A0 B ('所有文件(*.*)', '*.*')]
- + P. x+ ^3 d. }8 O8 t1 G! i2 s+ J$ l9 P# F$ \9 m2 Z% @
- file_path = askopenfilename(filetypes=filetypes)
- 4 f. k6 @/ a5 z4 m- r7 w return file_path$ e0 v6 l$ g. A, e: {& R
- 3 h8 ?\" I! x, |2 A6 N! Q) Z
- $ y9 u\" y# y0 U7 G\" j1 m( H
- def Read_file(file_path):9 O# j' v* F7 |9 `
- with open(file_path, mode='rb') as file_object:
- + C( y' [3 l' b2 w: m$ e n- b contents = file_object.read()
- $ d3 @( W2 [+ F% W return contents.rstrip()$ k5 }* e Z$ h9 G
- - C; ^6 c6 h; w7 g( [2 m
- ' v Z7 q }2 e1 N
- def Baidu_ocr(binary):, i5 }! W7 q8 \0 b& H8 d
- url = "https://aip.baidubce.com/oauth/2.0/token?"% P% T2 @8 G* Z5 K( h2 `$ ]1 e
- data = {
- 7 G8 F$ ]\" s( v+ n- m\" ~& U "grant_type": "client_credentials",/ w' S\" F/ H\" m8 z, j/ R5 _
- "client_id": "", # 必填
- 5 R\" G/ z! X, j; U! N/ z8 }% T "client_secret": "" # 必填
- # b) W r9 g* s, a2 I3 H- M; z+ u }0 h+ c+ V( d5 ?, S9 K a
- url += urlencode(data)! @2 @6 L$ Q' ~* @\" w
- response = requests.get(url=url).json()
- , p0 S0 E8 H+ K# U access_token = response['access_token']
- ' o, U8 j' P$ d7 [
- ' [( ^6 E: i0 v- c+ \& V url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token
- % ? Y* K7 e4 ]6 r9 ^/ `* y! B4 N post_data = {2 W) M3 Z( z1 |- `2 @+ N! ]8 W
- "image": base64.b64encode(binary),
- ; Z: o5 i5 Y9 v "url": "",. r1 q6 f0 V( \! z4 n
- "language_type": "CHN_ENG",
- & ^\" |( Y4 S6 g `! w "detect_direction": "false",) Q1 ] i( P2 \; u% Q3 s
- "detect_language": "false",3 ~3 H5 R6 \& U8 y E, j
- "probability": "false"5 m5 _4 A3 K. L9 c+ n0 p
- }' z0 U: r9 d; Y/ B6 V
- response = requests.post(url=url, data=post_data).json()
- % E' \8 U1 {& f; Z num = response['words_result_num']
- 5 t6 J' ]0 b* j# b result = ''( i/ A1 L: m. T* d6 M2 g
- for i in range(num):7 F9 F0 L- x( u\" `/ d
- result += response['words_result'][ i]['words'] + "\r\n"4 S+ e6 P' o% V7 h
- return result( q0 @6 z* b+ h; R' b
- 6 a\" l# D6 W$ I; Q3 |2 ]. ?% ?/ E
- if __name__ == "__main__":( x9 m7 C3 E* x2 I) X\" l5 Q
- file_path = Dialog_box()
- - O- A# T( c# p) C if exists(file_path):
- 2 A5 {' F: w# ]+ h2 P! Y data = Read_file(file_path)
- s9 {: l ]. F1 _$ _ print(Baidu_ocr(data))# p. R& Z S$ J7 L
- : O$ R1 ?, d0 O' W* e# @! R+ c
# F$ R; a! G/ }' o- z
4 P# Z6 Y0 O5 y" J- x6 | S3 u2 T! k G( A
Python交流群:1047602540
+ @9 n% D v3 \4 Z G+ \# V! `, Y |
zan
|