- 在线时间
- 7 小时
- 最后登录
- 2021-1-20
- 注册时间
- 2021-1-9
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 23 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 10
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 7
- 主题
- 7
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   5.26% 该用户从未签到
- 自我介绍
- 我本名为我,那就是我
 |
3 ]* }; E, f- x# @ V - #!/usr/bin/python: K8 g/ L2 x% K0 t. `, A0 r
- # -*- coding: utf-8 -*-
- q' Z% M! A( o' C1 R. b! v: N- H; W$ Z6 y. G
- import base64
- * |, E\" Q: }\" Ffrom os.path import exists
- , U- Y- k5 G9 k. S% J5 N# Mfrom tkinter import Tk
- 1 Z3 l' C# Q4 W6 z! I) X* wfrom tkinter.filedialog import askopenfilename4 F/ J5 L0 p5 K- Y ~+ |9 _/ p$ A8 o
- from urllib.parse import urlencode# \& `! q\" `& \
- # ]% [- V6 H! ?
- import requests
- ! y* ~$ ^4 ]2 B8 m3 Y
- - e% p+ x& @$ _. {8 o/ u( L* Y) e; Z8 M. r% P; O) z% w
- def Dialog_box():
- 3 {0 l. M7 C% K: B' l; ] root = Tk()
- ( O) C) E6 @( s! V root.withdraw()# H- J4 @$ ^- s; m
- 4 P' X8 m0 W2 q4 c, O0 _ filetypes = [(4 E! P$ h z- X1 s. e% T0 r0 s4 u
- '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),/ A M5 ~- Z) p* x
- ('所有文件(*.*)', '*.*')] H# C, z\" t* f `
- - X1 D6 o9 N, U8 ?/ L2 N Q
- file_path = askopenfilename(filetypes=filetypes)$ X\" W7 \9 \' v
- return file_path1 y, p( T: c( S0 u. o1 J. O) k
- , `' X6 I+ Y9 X\" U: }8 |* c& e
- 4 X# r; ~2 ^0 Fdef Read_file(file_path):( G' J0 A! e# d2 H( f\" \& S$ N
- with open(file_path, mode='rb') as file_object:
- 8 T5 L5 y\" N: {1 {\" H contents = file_object.read(), y2 \ [4 ~8 ~, b\" h- L
- return contents.rstrip()\" \% H6 k6 \7 M0 K. z
- + K/ V1 M/ Z- m1 A
- 6 N; M# y6 A! n% G& A% Zdef Baidu_ocr(binary):
- 2 V* W! I! |. |/ o( {% T/ h4 f url = "https://aip.baidubce.com/oauth/2.0/token?"
- ! A0 ]2 @6 e0 s$ \ data = {
- / f4 A3 j4 `# Z "grant_type": "client_credentials",; ^8 q9 m/ k' g* E- f. x- P
- "client_id": "", # 必填 I1 t: @0 J1 t6 a' u6 o
- "client_secret": "" # 必填' @. Z2 S+ r3 e& r4 i& }2 `
- }% e# j Y7 p\" r* K- ?: \5 c1 a
- url += urlencode(data)3 ~# U, N/ H6 j6 T
- response = requests.get(url=url).json()
- # p( c! ~' `! P8 A z access_token = response['access_token']
- ( W$ b. _! Q. b- J- }, ]- C/ f; P- R8 w y+ v% b; h/ K
- url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token
- 2 V9 q6 v F3 l e8 B post_data = {. b' v- O/ _4 g. ?5 g\" s5 S2 O* P
- "image": base64.b64encode(binary),0 Z- z\" T, } H3 K
- "url": "",+ C$ N- s+ F9 I5 A/ z( e
- "language_type": "CHN_ENG",+ \0 H2 j$ W- \9 Y* ?/ o
- "detect_direction": "false",6 S5 `! X: Q* Q( T; ^9 i
- "detect_language": "false",
- % d6 o( @. H0 Z2 I V, [ z' M "probability": "false"7 n' C- B, M* B
- }+ f5 z0 r$ M& \7 d- Q
- response = requests.post(url=url, data=post_data).json()
- 1 p+ {0 C) L* R num = response['words_result_num']
- 6 d8 a5 N4 z# ~$ A, q result = ''
- - u7 n2 {/ k\" o. X1 O8 }\" R' s for i in range(num):% f8 n/ p5 K7 u4 { j2 N; U r
- result += response['words_result'][ i]['words'] + "\r\n"
- 6 N% K0 J9 ` |. M4 ?- h return result
- 0 n$ a+ `6 ~: k+ ?( U2 `% M- N\" W' H8 e# B) W7 T3 x
- ! k3 U3 Z/ M$ b( H3 ~& W- hif __name__ == "__main__":
- 7 |1 o5 K! \' G. M* E0 t file_path = Dialog_box()# H& M/ ~- E\" Y! Q, Q/ ^8 A8 I9 n
- if exists(file_path):0 \ t( S6 V! B7 \ y c9 m
- data = Read_file(file_path)2 c( ?\" n4 l: f% V0 v8 T+ v
- print(Baidu_ocr(data))7 m# _, m& u. c
- 5 M) z/ Y% P6 u' {\" ]
, x. H4 `7 |4 U7 `/ N
- j" J$ B3 a3 R' P3 ?
# S [4 ?# R# f9 W9 i
Python交流群:1047602540 ! p- ~/ n/ x; ?5 z
|
zan
|