- 在线时间
- 7 小时
- 最后登录
- 2021-1-20
- 注册时间
- 2021-1-9
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 23 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 10
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 7
- 主题
- 7
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   5.26% 该用户从未签到
- 自我介绍
- 我本名为我,那就是我
 |
, e. B1 H. A. k
 - #!/usr/bin/python: U6 L9 R' i' i
- # -*- coding: utf-8 -*-4 X! x* ^% j6 N) r8 x
- ( V4 ]: p6 a/ l\" D2 `+ t9 V8 }9 Kimport base64
- 0 w6 I5 R0 ?$ ~3 }from os.path import exists
- 3 k% _+ x- u4 A5 _1 _% n3 kfrom tkinter import Tk1 \$ V) A$ t9 s( p( ]. u6 w6 ^# A! D
- from tkinter.filedialog import askopenfilename# ]4 H C# o1 h9 V
- from urllib.parse import urlencode% @& D* }9 c/ [( x4 W
- * @- |+ j( }! `* C+ w
- import requests: r/ m\" r5 L$ ]7 B8 l
- 6 r' _- i4 m! m! Q# h) ?) P# N. Z* g) m9 ?7 p* f
- def Dialog_box():6 H/ u& r& |( U1 r$ s
- root = Tk()! q% y8 U\" l' V% T; n
- root.withdraw()1 |' S3 }) R% X
- & G: d+ p* W3 C* X5 X5 S: u3 V
- filetypes = [(- q: y. y& O( G7 j( c+ s
- '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),1 z- ^3 }! k+ _$ ]# B
- ('所有文件(*.*)', '*.*')]
- ) H, [- x S8 R' t% u+ ^& V- f8 W
- file_path = askopenfilename(filetypes=filetypes)' \3 R9 _6 @\" ]6 l/ q( W' T
- return file_path
- ' c. F2 x+ i) T) H k: p: a, m/ O0 S. {9 G, ~1 s) ~8 V\" G
- ; R7 F; }1 [2 h8 H# M. b$ sdef Read_file(file_path):+ ]% I; \* [3 I, W) J
- with open(file_path, mode='rb') as file_object:
- ; Z; z0 z+ y- ~2 a' t3 N contents = file_object.read()8 q* ^ }# V0 x
- return contents.rstrip()
- 8 _+ J, z9 h% Q) ]
- ) l0 S8 ?\" E1 l2 W a0 @3 A P# c) C, [: P: Z; G1 b9 [2 s, g3 W
- def Baidu_ocr(binary):
- : v6 [3 I! U7 k7 x+ s url = "https://aip.baidubce.com/oauth/2.0/token?"# K8 }* C; c+ w' ~' D) k( |3 b
- data = {2 A, w: x\" \( i# ]. g3 ~
- "grant_type": "client_credentials",5 A) e m1 I; @: B
- "client_id": "", # 必填 O! ?; r' m p' Y1 a6 c, F
- "client_secret": "" # 必填
- ! z$ v5 S# c+ w3 _ C+ R }
- $ B9 l. `( A, _, t url += urlencode(data)1 n2 H' N# E. i0 y
- response = requests.get(url=url).json()
- 0 }- |/ I6 R' X/ K0 K access_token = response['access_token']
- & |9 f$ U9 p% `9 M G* r\" U* t0 u; R% A3 ~% ]: _- V
- url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token+ x* L; |5 ^( I& p# x
- post_data = {; O, z( o5 ~( {
- "image": base64.b64encode(binary),2 R0 E5 o, i4 {( c* M% |. J
- "url": "",
- / ^7 a- G. l. i "language_type": "CHN_ENG",4 l3 p\" o; }9 |( Q
- "detect_direction": "false",7 ^% B# b2 P3 Z. G
- "detect_language": "false",9 t4 h \& f, G- \; O# y/ r0 t( N
- "probability": "false"6 V6 {. b$ L9 E
- }, B' w1 ]. X# _\" |7 z6 `' [
- response = requests.post(url=url, data=post_data).json()
- 3 ^$ H; Q0 I: u/ B. C& `2 b num = response['words_result_num']
- 1 |9 k- x\" c w5 a8 L result = ''
- + E) [, p' j, m w# q' J3 e- `& M for i in range(num):
- ; @2 j2 k4 c9 X- n: Z9 o5 B5 H result += response['words_result'][ i]['words'] + "\r\n"2 Q9 }; _$ @, c( q# {$ u
- return result
- 9 S+ a2 G, y! H) P* s3 \- T' m
- 5 g/ I, H1 P5 N e# e$ h7 T5 A1 O e- Q: G' a+ X
- if __name__ == "__main__":; O5 s/ A- U6 b2 X8 v. @6 E
- file_path = Dialog_box()5 s u& I3 Y; A; l
- if exists(file_path):
- + u2 Y4 u& _4 g0 x5 X data = Read_file(file_path)( _* M8 T\" ?\" W$ g( Y, N
- print(Baidu_ocr(data))
- ^) }1 Z* r3 x) D1 g2 u
- & K, ? c6 Z5 Z! A
4 C0 O6 w6 ?' j# A
) t* ^0 e: w4 P2 f; H
. ^9 r) S3 Z: F$ D- o% g% }Python交流群:1047602540
^; G4 o2 Z4 Z# P/ p, F |
zan
|