- 在线时间
- 7 小时
- 最后登录
- 2021-1-20
- 注册时间
- 2021-1-9
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 23 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 10
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 7
- 主题
- 7
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   5.26% 该用户从未签到
- 自我介绍
- 我本名为我,那就是我
 |
4 o; Y' N; N& h( J2 w8 y
 - #!/usr/bin/python
- : `4 ^4 l0 C# i) s( M# -*- coding: utf-8 -*-
- 2 p9 o3 E0 c$ n& d0 k+ K! }
- 5 N4 a$ y2 C\" w# {. u T7 l6 jimport base64
- 9 N\" D/ ?' x) I* |: n5 T4 |from os.path import exists
- 4 b\" P3 Y+ q, r; g\" a6 x% X% ufrom tkinter import Tk
- 9 H! W5 n# c) } vfrom tkinter.filedialog import askopenfilename
- ! B9 F6 w# Y0 a2 y* T% _ y& Ufrom urllib.parse import urlencode
- # P4 \\" Z/ O1 |6 w0 n, @
- , P/ [+ j* X0 u$ R! O- Y1 Timport requests
- . P* h: E+ ?, ?0 p; K9 A9 o0 r7 N2 G; e# i9 j5 Q; b+ q- ^
- 4 R0 }& s' N f2 Edef Dialog_box():% A3 B- `& T$ V
- root = Tk()3 a3 T3 h, Q( K2 I
- root.withdraw()7 u! F2 v3 N+ F J/ `( O T; d
- 2 J5 M$ ~4 F0 @4 X& J( _2 s8 O6 k filetypes = [(+ S* e5 [+ K7 F& s$ K' f% @: H
- '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),
- 5 P* q1 R: y# V. L4 _3 b. p6 ? ('所有文件(*.*)', '*.*')]
- + q3 Y( a9 X0 u* f( K: v( g3 n1 b: X
- file_path = askopenfilename(filetypes=filetypes)$ X/ ^0 P2 c6 @) t; C
- return file_path0 v7 H, |0 p9 R# l$ `
- ( g: Q+ ?$ ~3 `1 _& o! r5 Q7 [/ j
- 8 o9 q\" l& ^ w3 r; }
- def Read_file(file_path):
- 6 c! V- T t7 ^' D( [ {' x with open(file_path, mode='rb') as file_object:$ r. H; O* h3 F7 K
- contents = file_object.read(): |0 g; k- D: X8 ?6 \2 ]
- return contents.rstrip()
- : t) I8 t7 y; t$ g& d! n- X+ J, o3 _/ J4 {# \$ D, j; I5 L
- / r# f& X y1 Y5 b, `! g1 V
- def Baidu_ocr(binary):
- & u! G2 z O9 U. C6 z: |$ @3 Q url = "https://aip.baidubce.com/oauth/2.0/token?": v* J2 t3 K. a6 m
- data = {
- 1 f! E. K! a5 t) x "grant_type": "client_credentials",
- - E5 Q6 L; ^6 K0 d/ A "client_id": "", # 必填# {* a. U\" u0 e0 t3 a
- "client_secret": "" # 必填
- , \) f# N5 F h/ q' m }8 q5 R' w) s+ N1 _1 k
- url += urlencode(data)
- 8 {, r) B! _& r* }- L3 O1 A response = requests.get(url=url).json()
- : v, H; u7 C% B C5 `\" r access_token = response['access_token']
- , g9 K9 Z- C0 g; e
- ' k+ L; ^\" I0 l% O- t- ~ x& Z, |* ? url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token
- ) d0 W7 t; K1 |0 G. ` post_data = {
- ; B2 F R- p3 f, x. h( a "image": base64.b64encode(binary),
- 7 c9 D3 q* D; y( g- @% [5 A0 q "url": "",
- p( M! Q' u! O2 Z "language_type": "CHN_ENG",3 r; q7 k& S! Y% V/ H1 B0 w
- "detect_direction": "false",& b& Z, p\" V& i; `( t
- "detect_language": "false",; H; T9 I* U6 B: W. R
- "probability": "false"; y) k# X5 @; E! r+ v8 Z1 u/ B
- }
- & r% F* S8 w: ^' S response = requests.post(url=url, data=post_data).json()
- / `( J: C% G: k! T4 k num = response['words_result_num'] L* E; t( x7 U
- result = ''
- \" s4 W* n: S* q) D\" l/ a& c for i in range(num):& s# d7 u9 h* [ Z\" v0 [) x
- result += response['words_result'][ i]['words'] + "\r\n"
- A2 L+ [) E) S3 X0 V$ H return result
- \" f9 V* D! R, C
- + @9 @9 @. j4 B, n
- \" B\" B7 y/ W1 L% ?! n/ F5 {# @if __name__ == "__main__":
- 9 U! L( F `' n1 Z5 e0 G& o# A file_path = Dialog_box()+ j: r: t4 I0 f4 F
- if exists(file_path):0 Y/ }2 J# H. {( D5 [
- data = Read_file(file_path)
- 5 M; u6 ]& ^. Z/ P print(Baidu_ocr(data))
- 8 O% B% Y, d$ z1 y) P5 c$ F0 |) X, L, ~/ L( P' t
$ M1 N1 B; M: g) e7 n
3 @" F* A* m$ ] D8 u4 N* A/ W" i0 Q) Y H3 {4 L3 p. E- x
Python交流群:1047602540 6 l; |2 W, L. q4 R
|
zan
|