- 在线时间
- 7 小时
- 最后登录
- 2021-1-20
- 注册时间
- 2021-1-9
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 23 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 10
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 7
- 主题
- 7
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   5.26% 该用户从未签到
- 自我介绍
- 我本名为我,那就是我
 |
- e9 a; K4 J. z" q6 F - #!/usr/bin/python
- ) Q4 i$ k/ ^. q! V0 k& U4 J# -*- coding: utf-8 -*-. E4 L1 [% j4 |- k, O, w! s
- : E- f\" Z+ ^: z\" D! R
- import base64$ B( k+ y! p9 g- g3 p3 d& W
- from os.path import exists
- & t1 W. q6 [# i, Y+ n1 c1 \( Y: zfrom tkinter import Tk- G6 Y* E! G: }6 ?% G- O9 U L# m
- from tkinter.filedialog import askopenfilename% l. i6 X4 C; d+ d7 q
- from urllib.parse import urlencode1 s8 O# |9 }2 m8 w
- 4 c! F( L: c( v, ~; O6 Y5 pimport requests( n8 O9 E5 [& } }
- / w, z+ G! O, w, j
- * ^\" o$ W+ Z$ t8 {
- def Dialog_box():
- 5 e$ b4 Y& ]1 \6 I4 |% Z; L) E root = Tk()* v- }- f, ~7 J, u4 ]' z6 W
- root.withdraw()% v& p- A' h2 u4 y1 n+ R y
- ) W* J: _5 y/ | filetypes = [(
- 7 o\" |; l: l9 M, f% j9 H/ f( } '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),9 ^! w5 i, f* Q# X- t6 q; P
- ('所有文件(*.*)', '*.*')]
- # V7 {* P9 V; Z8 N- y# _* ?2 Y% K' I- Q: y/ u4 G3 @$ K
- file_path = askopenfilename(filetypes=filetypes)/ e$ t1 T/ ^4 U& K: b) K. i
- return file_path& u/ S( `4 H3 i( b( T8 r
- & r, J4 [9 D8 E; i) }4 L
- 9 i: y/ m/ @0 @\" R
- def Read_file(file_path):
- ! r+ b f: e4 [/ n1 [% E with open(file_path, mode='rb') as file_object:\" B- e; T0 o) z\" ]) F
- contents = file_object.read()
- $ @3 b, J! U$ @, m9 R* O8 G return contents.rstrip()# i( M0 Y# A3 F
- ) q0 T3 t% U' a/ {& u0 E5 K5 {/ Q
- def Baidu_ocr(binary):
- 6 T5 {\" {; A, n; A url = "https://aip.baidubce.com/oauth/2.0/token?"/ L! n2 q y, p
- data = {
- : N1 D) P5 P! Y: b' h. c3 t "grant_type": "client_credentials",
- \" N1 f9 R/ |$ u9 e\" i0 T0 W "client_id": "", # 必填
- 0 L2 h _6 u$ z9 `/ c "client_secret": "" # 必填
- 9 [* k, ?+ }' B' s }
- 9 P7 |+ l- [( k0 t url += urlencode(data)
- ; f. q g3 G. P+ O; h6 u4 P response = requests.get(url=url).json() ~( A/ [+ H( }
- access_token = response['access_token']3 a% u. x, Q, ]1 l) k% i% O
- / A# D\" {9 p\" w) v/ w url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token
- 5 A$ q4 Z. P, \+ b. ~+ g+ m post_data = {
- ) ]9 s' ~7 Y6 N8 g: E/ s "image": base64.b64encode(binary),, Z\" G+ E7 A9 w |# y3 }
- "url": "",
- , l2 E; J4 e/ E0 Q9 Q$ }; b( ^ "language_type": "CHN_ENG",6 N/ k+ e) n N
- "detect_direction": "false",/ N$ ~9 Y$ j4 Q4 z- b
- "detect_language": "false",
- & h7 f4 T6 v- j8 T0 `! b2 Z "probability": "false"
- ! m$ t# j% ]% S }; n8 h5 O' b- j
- response = requests.post(url=url, data=post_data).json()2 Y- c: \* `8 g, A
- num = response['words_result_num']
- * X9 l+ E. |+ p result = ''/ }- ?+ V6 E( X: I! w
- for i in range(num):
- 6 Y+ ~3 q8 |9 U$ q$ t result += response['words_result'][ i]['words'] + "\r\n"3 N* |5 @# |1 _- p! B5 ~* w
- return result. ]2 A, T8 t\" E) C4 H
- + R) P3 B/ ? N$ b d/ D- X
- ! e( T# u6 n! j* ?2 }' Hif __name__ == "__main__":- U M5 }: H4 A\" H3 }$ O; q6 X7 b
- file_path = Dialog_box()2 M- n7 z3 [! ?% J6 {$ b# U' |
- if exists(file_path):: m6 \: u' [' l ?* w
- data = Read_file(file_path)
- 4 ~4 @2 @1 ^- E$ G# n; J; T print(Baidu_ocr(data))
- & X( a: \7 L2 S! [: c$ d
- ! z' l8 ?9 L) t2 Y
$ P: f* s+ C, x7 o( u% i" v8 x' r
4 H* A: T0 P' ~5 ?3 C( z9 @
/ Q. e5 G; j" gPython交流群:1047602540 ( {7 E3 }1 ^ e5 ]+ \
|
zan
|