- 在线时间
- 7 小时
- 最后登录
- 2021-1-20
- 注册时间
- 2021-1-9
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 23 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 10
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 7
- 主题
- 7
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   5.26% 该用户从未签到
- 自我介绍
- 我本名为我,那就是我
 |
1 N3 c# ]* H& d$ K2 v! P - #!/usr/bin/python
- \" F+ w/ m* u+ D2 ^- z% K# -*- coding: utf-8 -*-: r5 f: S5 ~, h
- ) Q$ r$ r& l/ i' z& N7 c5 C5 fimport base64# X m0 D4 ]4 P7 N1 A( o
- from os.path import exists
- 8 x: V9 b/ C5 S% @: Z4 Afrom tkinter import Tk9 y% f' D. `- O N4 a
- from tkinter.filedialog import askopenfilename
- 5 u# {* j6 x! c' E: X7 Ffrom urllib.parse import urlencode* V* D4 f3 L# G! n+ D7 h+ A
- ; b3 d. B: X\" @9 p f! h. g
- import requests6 h, j: G! z4 d- s) ^
- 1 G F/ q! m Z$ _* n8 A5 ]8 Y
- - {# P' {# R, V( S. H2 S7 Ldef Dialog_box():; A. I4 o8 F+ E. N, l. Q9 \
- root = Tk()
- ; `0 H0 y: N# i+ `5 D8 w* w+ @ root.withdraw()$ x8 Z1 _9 a) V$ b
- ' x+ F6 }9 o& n8 U3 Y
- filetypes = [(
- * n# ]+ p\" u; ^ '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),
- ' h# c' u+ C. j% x u ('所有文件(*.*)', '*.*')]
- . h& i8 Z1 z( O- K, t* s2 ]/ y+ N/ J' @/ J
- file_path = askopenfilename(filetypes=filetypes), h\" }/ H; q7 e+ }- Q% z
- return file_path
- 6 r5 R* ]6 X6 W# C+ ?
- 5 A( R( }0 M0 h5 `' F4 K `$ @7 B8 Y7 f+ h8 A6 P1 [
- def Read_file(file_path):4 r6 Q' p# i: a2 a% O
- with open(file_path, mode='rb') as file_object:
- , H/ L/ `& i {! R4 K contents = file_object.read()1 I3 B' A' s: h4 }( ~
- return contents.rstrip()\" D) F- x/ P* w* R5 j/ W1 m
- . B4 K7 G) k( V
- ) o) t. a' `0 _def Baidu_ocr(binary):
- , W3 I4 t U1 f8 a6 a% w% }0 N url = "https://aip.baidubce.com/oauth/2.0/token?"
- - @) T% c( f( p% s% [ data = {
- * v! p\" u/ ? i3 {0 U "grant_type": "client_credentials",# k& e1 f0 ^' d6 ^9 S5 P) [- X
- "client_id": "", # 必填
- ! r/ ~/ a. q. k9 F6 F "client_secret": "" # 必填
- % C' Q& W6 P5 `) K* X- B }
- * t! A! L2 A3 F0 f' _ url += urlencode(data)) U& p9 \0 N1 k, {- b5 z
- response = requests.get(url=url).json(): ~, g1 V% l3 A* G* g7 ]3 L6 j9 Q% Y' t
- access_token = response['access_token']
- 1 J\" ~5 K# z# p x) }# c8 ~( |9 |3 T5 `/ H: ^ q8 W0 r( H
- url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token
- 5 n# Y0 L5 W3 t! M: B\" ? post_data = {
- 1 u# m( u, {; ]) K "image": base64.b64encode(binary),2 A: m* V4 u7 I! A
- "url": "",% ^5 y6 q J$ R. D% g8 \3 M
- "language_type": "CHN_ENG",8 z% ~5 r% `; z
- "detect_direction": "false",
- * u2 l' m\" h/ D, x: x, J "detect_language": "false",
- \" V+ \* d7 ^4 g( t "probability": "false"
- 1 b+ @) D9 n8 U/ \5 k4 S* C }6 ^: @2 c4 ?6 s9 v! n
- response = requests.post(url=url, data=post_data).json()
- / F v, X4 A! ]' a1 t; u num = response['words_result_num']- z8 y6 B9 }* t7 O8 H) }1 u' p! Z
- result = ''
- 4 W# }6 Y0 L& [( j for i in range(num):' K A O: ?\" J$ i9 s( Z* v0 `
- result += response['words_result'][ i]['words'] + "\r\n"
- 2 f0 q& e. A3 }! `( b0 [ @ return result
- 8 Q! n0 `5 l! ?! C- C. ]3 @5 V( c3 h+ s6 t3 E3 X
- # z* e3 S% H; Z\" n; o; M6 {
- if __name__ == "__main__":
- % M7 Y/ c! Q7 L% {! F. T file_path = Dialog_box()
- \" [8 ~' d( i' R6 P1 M if exists(file_path):
- 1 m- C9 t; ^7 @9 ? data = Read_file(file_path)+ X' J/ I7 K, X) _4 V. A
- print(Baidu_ocr(data))
- 7 e, _' f5 ?' J( C4 d: W& ~. R5 M; V6 i0 T# {
( E* \2 J) K7 f! n. i* r" o3 L/ f* A( z: W7 A4 ]7 l' U
! z3 @8 [. C8 Z4 |& Q8 M" n- D8 h* t
Python交流群:1047602540 ! z( G' t- l3 S3 P. b" ]; N
|
zan
|