- 在线时间
- 7 小时
- 最后登录
- 2021-1-20
- 注册时间
- 2021-1-9
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 23 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 10
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 7
- 主题
- 7
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   5.26% 该用户从未签到
- 自我介绍
- 我本名为我,那就是我
 |
; m# K( o' q9 c4 W; l( ^' F9 O
 - #!/usr/bin/python
- 9 v: q* t8 v! y1 L& |) l# \# -*- coding: utf-8 -*-( B8 N2 G8 z& t; P. ]\" v0 i
- 2 ?\" f2 O9 z. ^; h\" himport base64' C8 C) o. z: K8 }5 w3 l
- from os.path import exists
- D; u3 R6 g. F5 l. ifrom tkinter import Tk
- ( I! q. z! c( Z, j, X- T/ Nfrom tkinter.filedialog import askopenfilename/ e, z. ?- e d3 E
- from urllib.parse import urlencode
- ) h1 L) t p( a- _* o2 G+ o* @; `9 ~+ c) M% H2 S0 R
- import requests
- \" g2 A/ ^9 o6 F: ~* n# T
- / V. S P3 b: u- _! i
- 3 a3 q! L; t- f, l( B: adef Dialog_box():
- / c9 R% p8 U\" \' M/ Y% [( \ root = Tk()
- ( H% z7 m3 T1 b root.withdraw(): x3 {0 d% @0 o# T6 `
- + d+ K$ E) E7 s* c j6 D7 c
- filetypes = [(
- 7 Z/ w3 D1 ?2 X0 ^ '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),# g2 D/ L. S6 f
- ('所有文件(*.*)', '*.*')]
- + ~2 z* D( b3 k+ [# K% s1 j. p
- 0 ]( T, `4 k9 A7 @: n file_path = askopenfilename(filetypes=filetypes)
- ; `4 c- X$ w) \2 r: ]; j+ g return file_path
- ! c7 `2 ] P! m1 s. a c6 T; i f\" D5 I, L2 a9 Q. o& \) @) b
- y2 d; t4 O6 Bdef Read_file(file_path):
- / y3 W# [$ C- O) C with open(file_path, mode='rb') as file_object:
- 7 `5 d8 v: J/ P2 m/ w8 N! @ contents = file_object.read()
- * ]; ?- ?9 D1 ?( z( _% v0 N return contents.rstrip()6 E5 O7 \: q# p) R2 `/ e
- . a2 Q: i( v7 }+ {8 O4 w: Y3 k
- 7 C3 f' N( p$ V, `
- def Baidu_ocr(binary):% A1 \: v, N% J3 o
- url = "https://aip.baidubce.com/oauth/2.0/token?"
- ' j% {: @& J\" p: o' O; v, O data = {* b0 g\" s2 Z) K. L; f8 }
- "grant_type": "client_credentials",, c/ s\" t( V! x
- "client_id": "", # 必填2 i1 u8 o ?& o3 l* l
- "client_secret": "" # 必填
- / L& ^5 I6 {* c, \3 E9 K }
- ) `) G* a3 e. U4 D5 w( i; O url += urlencode(data)
- : q* ?* g n5 I& }* N. P; C7 [8 [ response = requests.get(url=url).json()( r( N* n! R, C
- access_token = response['access_token']
- ! S; X\" H# B* ^
- # P; I& ~) W0 y( b5 r url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token U9 Q ~1 u+ o3 ~3 y3 t
- post_data = {- k: N% I9 t4 I( w. T\" d
- "image": base64.b64encode(binary),# a2 E; `6 P8 ~# U- K' X
- "url": "",8 i& c, ^- A1 Y) F5 d4 f+ T+ S) s, R
- "language_type": "CHN_ENG",
- 6 N1 K9 K\" n; b7 i8 o1 @' Y- G) r8 N "detect_direction": "false",
- 4 u1 [7 z\" x* L& _1 V6 A "detect_language": "false",! q- t\" O$ u% d* f
- "probability": "false"% q8 L2 A8 U2 c2 D; `
- }' m$ v& Q. q* ]* V: V; }* {9 [
- response = requests.post(url=url, data=post_data).json()
- 1 g3 k# V2 {; m, T3 w [! W( G\" p num = response['words_result_num']: Z( R) T( k\" r$ Y
- result = ''' ?1 u. ]8 R# }4 s9 N
- for i in range(num):0 N; ~: w& n4 M- }! O. ^
- result += response['words_result'][ i]['words'] + "\r\n") k3 f5 F2 o! O, M
- return result5 ^0 w) }2 F1 O) F! l2 u
- 2 o3 Z\" V\" s, F\" \5 Z, s% O
- 0 _5 ~, \- M. Y! X2 |; wif __name__ == "__main__":5 X3 J8 L S2 Z. N\" g* Y
- file_path = Dialog_box()
- - n- F3 N\" {8 z if exists(file_path):
- 5 N9 ^5 r) }/ J* I data = Read_file(file_path)
- 5 v. b- \# _2 h L- \\" [ w print(Baidu_ocr(data)). W\" b6 S, l$ l2 b2 Q; u( b, n9 H
- . g i; A: b( @( ^7 j6 v
" Q2 n: p, L2 h
$ U' g! K! W+ Y
Z3 j, y5 R0 g+ ]/ i2 k3 H5 xPython交流群:1047602540 0 c) U: J" ^+ @
|
zan
|