- 在线时间
- 7 小时
- 最后登录
- 2021-1-20
- 注册时间
- 2021-1-9
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 23 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 10
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 7
- 主题
- 7
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   5.26% 该用户从未签到
- 自我介绍
- 我本名为我,那就是我
 |
% n6 d$ @' c) ]2 Q- M - #!/usr/bin/python) V$ ~, O3 T. |\" A
- # -*- coding: utf-8 -*-1 U! B9 R* g4 h7 B- F4 t
- 6 H( ]6 G8 j0 y
- import base64
- \" {5 A, W4 K3 Z! d- N' rfrom os.path import exists0 j, N/ i D: W
- from tkinter import Tk
- ' {8 j L% d3 o- tfrom tkinter.filedialog import askopenfilename
- ! r# W1 D5 D& ^9 |/ }$ w* qfrom urllib.parse import urlencode3 `: {8 }2 A: P* }. p' Q) }1 t
- ( }2 f; d. j4 ~& ?8 `+ y\" S/ Z
- import requests7 y3 e5 l; }% }0 E4 K! r8 L
- @+ W) e& ^/ {1 A2 R/ @\" q- l$ h5 I0 v7 v
- 9 E1 g/ v; d. i/ a! l5 c) n+ adef Dialog_box():
- \" H0 G& W8 J4 Q, S5 Q- p root = Tk()
- . o' @, ]( m0 N! c root.withdraw()( V& N: n6 e! q; u, `- I2 @
- 9 q6 {/ @% \4 Y/ Q, _ filetypes = [(
- ! W9 S- |$ e( b- C, G4 v '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),
- \" T. H2 `! C/ I( O j ('所有文件(*.*)', '*.*')]2 z7 W T/ j. x* h8 Z$ ^
- 3 t6 P0 P\" D& h file_path = askopenfilename(filetypes=filetypes)
- % C: z$ Z, r# J return file_path
- 1 e- H( f1 f2 {+ w- g2 s4 N* }
- ) c5 I$ w$ C$ d! h0 R' P
- \" i. Z# x8 C; qdef Read_file(file_path):* D1 U) r5 ?* U! |8 h
- with open(file_path, mode='rb') as file_object:
- 8 C0 V8 l* M6 y5 N contents = file_object.read()8 F; \9 I/ v S4 L6 f) U
- return contents.rstrip()$ _7 o0 ~' u\" [3 u4 X, d
- . u& }7 \0 W6 ]
- R( \. T2 M+ o3 m4 [def Baidu_ocr(binary):% g7 k6 a1 t% Q5 w7 T\" y6 Z
- url = "https://aip.baidubce.com/oauth/2.0/token?"
- . K1 `7 M; Y4 @ data = {) H2 s6 f9 A5 W+ j) ^\" R6 F2 E
- "grant_type": "client_credentials",\" n3 f) U8 r- m
- "client_id": "", # 必填- ?, V E2 v, r j6 ^0 N
- "client_secret": "" # 必填
- # {* q+ q A) E& C }1 U: {9 g2 K- a8 c& \
- url += urlencode(data)1 z2 F6 I: P. d( G
- response = requests.get(url=url).json()
- : {5 m7 W U- [! u, m access_token = response['access_token']
- / }, L; `* b9 ]' g2 E* T
- ; \\" }& n# J8 K+ b url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token
- 5 z: C( p: y/ k& y {% g9 E/ A post_data = {
- - t }4 P* O& Q! Z2 D' d "image": base64.b64encode(binary),
- \" ]* K\" `- X, D& T; |\" ? "url": "",3 \& x0 A2 ^5 y4 w\" `
- "language_type": "CHN_ENG",+ A# W$ y( y8 I7 O8 S4 S# L7 Z, W1 k% z
- "detect_direction": "false",+ Z\" q5 P# q9 e/ C ^* U
- "detect_language": "false",
- 8 G6 |5 i- s2 ?8 B5 D% I7 v( u "probability": "false"
- & q% l) N- q# Z3 n }, J1 g9 }, P8 c) y) | m; F/ @
- response = requests.post(url=url, data=post_data).json()
- % r$ _* y4 ~: m! U num = response['words_result_num']
- 3 p4 m5 m+ x% L) m result = '') E' @; s6 j. c, ~
- for i in range(num):, L0 M) B0 O! v/ m5 {8 M# j8 Z
- result += response['words_result'][ i]['words'] + "\r\n"* T {7 r2 ^% \9 r3 Y9 P
- return result, s; {\" T A) c
- ' F# z' _' }, s1 p! g( h
- * ]& J4 z- b6 J2 ~5 ]6 F
- if __name__ == "__main__":
- : @0 [+ [% A* @/ x file_path = Dialog_box()% @+ Y- p6 E) K# ?! p; y* C' d8 t
- if exists(file_path):, D/ E) h$ _# A; c f' u% }6 G, E
- data = Read_file(file_path)2 M- M( Y$ S6 }2 d2 t8 }
- print(Baidu_ocr(data))( B! H/ V. _\" e1 ]7 p, Z
- 8 n! I/ ^) x( O
- M9 l9 G% i! `, u1 U! r" C. l3 x4 x) Q
4 b- q1 K( F- T w0 v
% w5 N6 ?) p* {! J5 w8 Y8 v- X: t% @Python交流群:1047602540 " ^$ t5 v) |7 u
|
zan
|