- 在线时间
- 7 小时
- 最后登录
- 2021-1-20
- 注册时间
- 2021-1-9
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 23 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 10
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 7
- 主题
- 7
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   5.26% 该用户从未签到
- 自我介绍
- 我本名为我,那就是我
 |
1 U0 j- e0 G, Z3 Q+ I" t! G$ r# f4 X4 D - #!/usr/bin/python( e! K/ ?1 A _: `$ N
- # -*- coding: utf-8 -*-
- 0 d% F8 u3 p+ c* U8 w# {9 m* Y L) }\" T4 C# @5 A+ i8 f) \0 d
- import base642 c7 f) y- V\" y5 {0 U! `8 L
- from os.path import exists
- 3 W: S' b1 d0 u5 ]7 F% Qfrom tkinter import Tk+ J& }* F' @1 _4 |
- from tkinter.filedialog import askopenfilename
- + l\" @3 d5 y3 F& r4 r3 g+ efrom urllib.parse import urlencode5 e% |9 e9 p# N9 U: Y+ j8 [5 s
- \" e) ` j _7 h3 y8 R3 Himport requests
- 0 ~5 h* i; S/ p5 s! d6 P4 y5 g+ G6 G7 B: h/ [! ?' J
- ; l5 ?' X' e5 C( c\" z& ~
- def Dialog_box():6 _9 Q: D5 H2 `8 N4 u
- root = Tk()/ s1 q3 S% g- g+ E) w
- root.withdraw(). W* R8 u/ I& V! D2 f7 b
- + r+ `1 t- J d7 i( Z\" N2 `0 f: f
- filetypes = [(3 j& E$ z2 ?7 |) J+ y/ y* z& b' m
- '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),; R2 I: {. R* {! N1 S x! G) Y7 |
- ('所有文件(*.*)', '*.*')]
- & l4 f5 P+ j' p; e' P6 _) ]2 _1 o s8 K) n. I
- file_path = askopenfilename(filetypes=filetypes)
- 6 H2 X/ Z- Z& @ return file_path# ~; T) _% v1 i8 X3 n
- + o; @! ~' m; P: H6 N5 f- i2 P6 N; w' N( `/ {# c5 ~4 ]
- def Read_file(file_path):2 g1 I0 l' c( r
- with open(file_path, mode='rb') as file_object:
- 5 ?/ T: t% I$ R4 j ]5 Q contents = file_object.read()
- 0 ?) C9 ]; b: B# [3 j( `$ d return contents.rstrip()* W9 Y; j* J& C3 d B% p
- , p9 d' A' C\" H* L+ K6 m8 V
- 7 @4 g2 B' z+ |/ m- g9 N
- def Baidu_ocr(binary):
- / o3 q8 \+ f- m6 | url = "https://aip.baidubce.com/oauth/2.0/token?"
- - M! \3 @$ N: r- @ data = {. g. a& }+ B% x
- "grant_type": "client_credentials",0 e8 v& K: F0 H! G\" ]: N7 K! T% \8 ?
- "client_id": "", # 必填8 O7 Z2 v& _4 T, r+ c) d3 Q
- "client_secret": "" # 必填5 d# r$ E: u9 @$ V; K3 [/ @1 d
- }
- / E5 S* t; Y# E! `0 e5 ?4 L url += urlencode(data)
- 6 x0 {: n+ s. u2 C response = requests.get(url=url).json(); R4 N( g. A2 j! F4 [% X2 M
- access_token = response['access_token']- k K- M8 T; T
- 7 S+ ^1 d6 m7 s- \9 S; u0 W5 Z url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token
- : K2 W$ A$ D/ t9 j$ L+ G post_data = {* V! k' x# }. G
- "image": base64.b64encode(binary),2 H) q1 w/ ^: z9 G2 |' A+ Z
- "url": "",
- % M) l- o8 E+ E "language_type": "CHN_ENG",; J1 C, N h2 [& p7 `
- "detect_direction": "false",5 O) E\" R X! u$ S
- "detect_language": "false",) I: n. r3 d4 \+ y( O! K\" F! M
- "probability": "false"% ?1 ?, i5 w ^) y
- }
- * O4 t+ b( z; g# m4 V response = requests.post(url=url, data=post_data).json()
- 0 X/ I/ g* I' t, @ p- Z num = response['words_result_num']
- , X% J1 H' l' n- _( k$ t, x result = ''; l& _7 X- W/ ]) \
- for i in range(num):
- , v: }* Z8 E) |# j6 H) w6 p result += response['words_result'][ i]['words'] + "\r\n"
- ( @- V: n3 v$ Y\" | return result& I$ w7 s5 b- B
- - J, I$ F5 z& f3 [8 j. K) p
- \" N9 W( Y9 k\" y& X/ H% v1 I# ~5 j) eif __name__ == "__main__":
- ( _& t1 _2 b4 {3 _, w6 z file_path = Dialog_box()
- \" h4 l# R s$ W, g- o, \$ R7 w& B if exists(file_path):
- ; A% y; X6 R- O/ K: ?. n data = Read_file(file_path)# P4 @\" H/ O' r! u, z. `7 V8 \! T
- print(Baidu_ocr(data))\" G) w. J! U& \5 a1 `1 X( j
- : s, K$ p2 k' d( T. R- M5 k) F9 G
2 @/ _. t0 J! M( Y+ D) N m9 M9 l3 Z) |/ R4 l
, G, p& J/ J5 T& T2 G8 Y
Python交流群:1047602540
4 y& M+ e t3 N% H S; L& r" d |
zan
|