- 在线时间
- 7 小时
- 最后登录
- 2021-1-20
- 注册时间
- 2021-1-9
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 23 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 10
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 7
- 主题
- 7
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   5.26% 该用户从未签到
- 自我介绍
- 我本名为我,那就是我
 |
# Q- S( o6 @1 P - #!/usr/bin/python
- 2 `9 G0 h2 g2 G) S# -*- coding: utf-8 -*-5 A4 N: A' V0 P1 ?
- 2 o, L% Q( s% F0 e/ n8 V% ximport base64# m8 l ~! h1 i( }6 a
- from os.path import exists& {0 K7 ?$ B* G( M
- from tkinter import Tk
- 3 g\" q6 w) S. }! q+ z2 bfrom tkinter.filedialog import askopenfilename% a4 X- m7 |\" \, U+ Q
- from urllib.parse import urlencode0 K- w% k) @$ F' Y: g
- - z3 N. x- u7 V. B Z$ k\" i. a
- import requests
- ( z2 s, s( d; W2 i) K+ v2 Y$ m5 [6 O7 E7 d& [% n1 b& m
- # [0 j4 r Z% B! m; o# rdef Dialog_box():. \+ C0 [4 b* U
- root = Tk()9 d& K2 O/ ]0 ?5 H
- root.withdraw()
- 4 o& \0 @\" j$ s9 z* r' `+ S5 E\" w2 M# v; v' s6 o+ D
- filetypes = [(8 v9 w+ |* j9 _ p* b5 J
- '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),( h) U$ Y% {/ F5 {
- ('所有文件(*.*)', '*.*')]
- 9 d% o0 K( E: a! A/ Z9 {
- ; \1 ?; L- `7 z0 |+ E3 I5 |0 ]\" d file_path = askopenfilename(filetypes=filetypes)
- 1 k- @7 M1 |5 d3 l return file_path w8 h A) c7 F4 e$ C) ?: ^- F
- F: l1 L) C8 b1 A
- 7 p0 e; U7 n( s\" q8 w3 }def Read_file(file_path):
- . n( I; B4 ?% o& t, ] with open(file_path, mode='rb') as file_object:
- / z! k/ G0 ~/ j2 S% B; Q contents = file_object.read()
- % f- C: j% w9 d return contents.rstrip()
- \" f/ A2 m# w: \, ]4 s9 A\" n
- . @4 r. S) E! L' V5 ~& i9 \% C$ [! O* ]' h& \* a! r: f
- def Baidu_ocr(binary):. g, i- }* L9 P t3 O# j\" W
- url = "https://aip.baidubce.com/oauth/2.0/token?"
- 7 O2 I; f+ ]; j1 }* `* c' F' N data = {
- $ r, @( n! p1 e! ~( g "grant_type": "client_credentials",\" ?3 T2 h% b' {! U: i
- "client_id": "", # 必填8 x2 u8 A# K: N& v
- "client_secret": "" # 必填
- + y. Y' Q- p. [7 Z( s4 c\" A. q# r0 P }! Q! v7 K9 k! J, E! [8 G
- url += urlencode(data)
- 8 C0 p0 M1 j4 k+ n3 @. i3 v, b response = requests.get(url=url).json()\" v+ G6 C7 k/ f# O# U' x
- access_token = response['access_token']
- 4 g6 _' l, { j. q) G# u8 Q/ o! ~2 e1 X& h- d4 Z1 P# a
- url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token
- - e( ~% u$ i) A- S8 o\" j post_data = {
- L: ^! _0 \2 ^# d( z3 y$ q "image": base64.b64encode(binary),5 u' j$ I( R: }7 V! d
- "url": "",1 b6 v3 k& E' B. p/ V1 G' _* R
- "language_type": "CHN_ENG",2 x( ?( v/ S& j
- "detect_direction": "false",( [/ ?6 k& i; f/ g+ X
- "detect_language": "false",
- \" N ^/ j8 w# @& W% b- t1 c* Q "probability": "false"
- 4 u# K- f7 r* z: n( [ }
- - N1 ?5 _, \, F/ \\" |7 O response = requests.post(url=url, data=post_data).json()7 g. F& ~$ s2 N, V' v3 X; D
- num = response['words_result_num']
- 3 E; e5 ~, ~& n\" h& P6 O( ` result = ''3 o; m. e# L4 l& E4 I
- for i in range(num):
- $ ~8 a6 d) T H' l0 ^ T result += response['words_result'][ i]['words'] + "\r\n"2 V7 _2 B0 r: m! [6 } c, N7 ~
- return result
- ( X! @# E+ r+ O: q/ v: y- q1 H4 a. W- s: G; B
- $ `- j: s, c3 `5 C2 h
- if __name__ == "__main__":' P3 {7 i1 m. }1 ~+ s+ |
- file_path = Dialog_box()
- , b; t5 X8 z! C { m1 @( Y if exists(file_path):
- 6 w5 n3 n8 @; C1 {9 ] data = Read_file(file_path)
- : i' d4 p: h5 o3 i print(Baidu_ocr(data))
- ) l# H( y1 |( `, X\" M4 V2 D' c& C; f) \% O! T7 u
% ?8 N5 {2 V; T( | w8 i/ ~
& ^* X4 {8 P9 V! R4 b) W( C2 ~6 `! a8 p& d9 s* G: C) r
Python交流群:1047602540
2 k- `$ z& w+ O" A |
zan
|