- 在线时间
- 7 小时
- 最后登录
- 2021-1-20
- 注册时间
- 2021-1-9
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 23 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 10
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 7
- 主题
- 7
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   5.26% 该用户从未签到
- 自我介绍
- 我本名为我,那就是我
 |
% F& S2 s( X/ y! n# S7 F' C - #!/usr/bin/python
- 7 [$ e2 }/ i% o4 c% f# y# -*- coding: utf-8 -*-) u. @( j+ N3 ]0 ^* O
- # Z+ F\" k5 l) s0 \% ~
- import base644 z+ P! ?1 H$ C
- from os.path import exists
- ) Z% N1 R; z* i6 R+ F$ O; Qfrom tkinter import Tk' ~0 H& p1 V* O* I/ W; g- k/ Z
- from tkinter.filedialog import askopenfilename! t% n' }( ]4 |# a' G( y
- from urllib.parse import urlencode. O. I9 }2 t\" r0 f! w
- ' l8 J- a$ u# I
- import requests
- 2 G# k0 ^2 H: N, R6 n2 L: y. b0 z7 q+ Q
- # ]. Y# O: @4 F1 Y w! h3 S8 \! s
- def Dialog_box():
- 7 t2 F; k; a, a4 q# j+ _% o root = Tk()7 W+ T+ B1 @% p6 _
- root.withdraw()% F9 f; C9 g8 F, C3 A M5 P
- ' i* \6 w; ]4 W' e. ?3 l
- filetypes = [(7 @9 |, N' t) Y0 @% C
- '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),& l( a8 u$ Y4 K+ C _
- ('所有文件(*.*)', '*.*')]& |3 v0 ~7 ]) B) d( v% h( [0 O
- 5 H; O: a* V4 e* Y( i
- file_path = askopenfilename(filetypes=filetypes)/ J$ [& s# `& j5 ~
- return file_path
- v& e; u* x/ @; ]. A* U `' \$ R1 n/ N$ K5 _/ Y7 a
- 0 N, Q! l$ \: ~\" pdef Read_file(file_path):; L$ l# H' }& i( O% N
- with open(file_path, mode='rb') as file_object:! Z# E) w! |2 E, G) D
- contents = file_object.read()/ p' \- @8 w! z+ e. S+ G
- return contents.rstrip()! Y, x* v+ U) R4 r4 m: L
- ; Y/ z% I) {+ m# ]
- 3 `, l) O: B+ F/ V
- def Baidu_ocr(binary): {4 t Z. f, U% y
- url = "https://aip.baidubce.com/oauth/2.0/token?"# n% L* V+ j4 h: W9 l\" B% R1 K' {\" [
- data = {
- * U( ~4 e, n( y4 w "grant_type": "client_credentials",
- ) ?% c! U& j. _7 R\" ]1 ] "client_id": "", # 必填
- ( k4 A% e9 K0 a# d "client_secret": "" # 必填4 L0 R6 W q6 Z; v+ F; w# a6 c
- }! [# L, j* X) ~& ~' t
- url += urlencode(data)8 d, E4 U3 Q. X6 t5 A& }
- response = requests.get(url=url).json()# z1 J( y' u! d/ l. o+ U5 Y
- access_token = response['access_token'], w8 Q! g: |3 Y) k
- 5 F: Z& V1 w' o5 B! }% ?7 ] url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token8 p7 s* z- ~ b; Q# @
- post_data = {
- . l& u& G( s2 U3 Q "image": base64.b64encode(binary),/ P7 ~6 P\" g3 a: c C
- "url": "",. p* k) v9 j% U* o. ~
- "language_type": "CHN_ENG",
- 2 o, o2 B4 C! k# S* g4 D: ]\" S9 o7 f "detect_direction": "false",
- 0 X4 K! {5 l! ]$ R [2 o9 s& o "detect_language": "false",/ {5 g' `6 N1 J, k* A( S
- "probability": "false"
- 4 l( \7 }9 D5 b\" q }6 v; f& m* Y* ~0 M7 Q9 K/ g
- response = requests.post(url=url, data=post_data).json()
- ! K- v# F$ M/ t! B9 `$ X5 q0 I7 y num = response['words_result_num']9 m. E6 c2 N; m) c U. G3 n( R* d
- result = '') \; W. |5 _! [1 O/ E8 ~
- for i in range(num):: O' i) i3 R% C' A2 P4 L
- result += response['words_result'][ i]['words'] + "\r\n"
- 1 K4 J4 I4 o' k3 l1 `3 s return result
- ( p N; ?) Q2 P. N3 _* X7 G, v2 r+ @- K! \5 y. B2 Q! F
- 7 \/ O: Z+ F: dif __name__ == "__main__":
- : P! c' R% K; [2 U6 E$ v file_path = Dialog_box(). `/ x, @1 i0 D
- if exists(file_path):! E; Y2 [! }5 F+ Q9 B3 K0 }
- data = Read_file(file_path)
- & m J\" x1 f' n4 C print(Baidu_ocr(data))
- ) }9 D3 U( J0 j\" K/ V0 a2 j
- 9 I. @+ Z, g+ ]+ X
7 a/ A! U! b7 x8 l4 W
2 E0 X! x3 u0 K' Q8 b& u
' |) o3 e9 E) j5 ^% qPython交流群:1047602540 1 D. H' E0 [: o# E% d D
|
zan
|