- 在线时间
- 7 小时
- 最后登录
- 2021-1-20
- 注册时间
- 2021-1-9
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 23 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 10
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 7
- 主题
- 7
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   5.26% 该用户从未签到
- 自我介绍
- 我本名为我,那就是我
 |
0 `1 o8 ~. D* G+ u - #!/usr/bin/python
- 3 }. F( I% h! g/ q; {\" l3 ~# -*- coding: utf-8 -*-
- * h8 {5 w2 T5 U* F7 g: Y9 x
- ( V+ {7 V3 |3 r4 H& vimport base642 M& y0 \9 K4 }* x& V' z
- from os.path import exists8 m) S0 n/ D- Z. E; P\" o
- from tkinter import Tk l: ~$ j' l& l- B9 `$ W7 A1 x+ |( C
- from tkinter.filedialog import askopenfilename
- : l! s( b1 j& [; E! qfrom urllib.parse import urlencode
- % I1 n; x ^( T$ k% C6 ^
- / ?* D/ \4 l5 B\" }import requests
- . M8 M8 |7 f' Y% _& N! g0 V2 s* f8 n\" v* b+ p# P2 x
- - T \; j$ r( I- \3 N\" H+ Mdef Dialog_box():
- # ]6 b# K- k1 H4 o, ^ root = Tk()9 b9 W, c3 F( V N; Z; k) d; P( \; w\" g
- root.withdraw()
- }1 | [1 r6 d) E8 w7 i; Z7 V8 M# |
- filetypes = [(
- 8 d2 P\" F; k\" i\" ]1 \ '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),: p z# I2 S% Z$ e
- ('所有文件(*.*)', '*.*')]
- 8 ` g9 R0 l3 W; Y, V9 ]- p: k
- file_path = askopenfilename(filetypes=filetypes)
- ' X, `\" g ^2 W' F$ I8 t! Y0 S return file_path
- ; d7 q' @: L9 x\" s$ b/ [. J3 E, N! h/ ?4 G5 ^$ E
- * x4 W8 F3 G: G+ _
- def Read_file(file_path):/ s. t/ |& q- X4 t+ N. R# ]2 n( g
- with open(file_path, mode='rb') as file_object:4 u! G+ U3 }' {3 ]5 P! ~, {# d5 E( ^
- contents = file_object.read()
- J; `& \) p; O, w return contents.rstrip()
- 6 l) P1 r\" M3 w. G. G9 ~. C& m) g2 _7 {* ~+ o! E6 @) _# b
- + Z; c$ B2 U5 h' w- X% R
- def Baidu_ocr(binary):1 `& j C j: N- ]) {
- url = "https://aip.baidubce.com/oauth/2.0/token?"3 H: F/ X# b0 X/ Q+ [8 ^
- data = {
- 2 @6 P2 M) H/ E& O+ v "grant_type": "client_credentials",
- , {8 S9 ]( I2 `% u "client_id": "", # 必填5 p s' h, ?/ K) A1 I5 J; o
- "client_secret": "" # 必填\" e# C6 p: u* z9 J
- }
- . h4 u! I. b& X1 C. f1 m, { url += urlencode(data). ^7 J1 M) n5 e6 B/ C ^
- response = requests.get(url=url).json()
- 3 d) i2 ~, e9 c( ]+ x/ s3 N& d! ~ access_token = response['access_token']
- / w! N% k! R4 |5 ?) R
- ) [! h' G6 [ z8 V9 { url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token# g$ Z5 q9 Z! ]9 h7 x2 y
- post_data = {
- 7 ~* h: e2 L: ?3 ^8 w! w( `: Q "image": base64.b64encode(binary),; B3 S$ g/ }8 b, L2 i. I
- "url": "",. k; l4 q9 T2 j4 X& r
- "language_type": "CHN_ENG",
- - N6 ]% F\" |0 s7 S1 n2 M "detect_direction": "false",$ w6 [- w9 e, q% d7 ^0 V
- "detect_language": "false",\" M! G1 _) \7 v0 \. j9 Q
- "probability": "false"
- 6 I# t, Z# g3 ]) V8 B4 E }+ D2 c1 j+ [, A1 [: ^
- response = requests.post(url=url, data=post_data).json()
- ; w\" b5 L+ y& g( D num = response['words_result_num']$ [4 y$ @; s\" T* U7 U' ~4 p* K
- result = ''
- ( A8 H+ ?* S/ p1 j5 r7 d; w for i in range(num):# S) _( @4 b0 Y* W
- result += response['words_result'][ i]['words'] + "\r\n"
- 7 [( ~. H* U\" i: @% L+ k4 y return result. V& `( g\" l- Y3 D& @
- 9 Y* E\" U: _/ Z( X' D4 \2 p5 ]) x# X' n- Z0 {7 }
- if __name__ == "__main__":7 o9 m8 f; m0 N
- file_path = Dialog_box()* R3 l$ N5 z+ q9 i
- if exists(file_path):+ u v# s+ P3 H6 S9 i5 S
- data = Read_file(file_path)
- $ ?' p% h; ~) `2 T% q, ~( H print(Baidu_ocr(data))
- % ^\" e1 M; x\" G- l! e* w' `# r' y& |
- 6 G% f& I& g8 e- A$ D+ \
- m) ^- d$ q& k! ^9 S; u9 w1 j
* Z* E1 J g! l. \6 T1 B$ y
9 N- {# N7 k5 K% YPython交流群:1047602540
) U( R g" n5 _7 C+ n |
zan
|