- 在线时间
- 7 小时
- 最后登录
- 2021-1-20
- 注册时间
- 2021-1-9
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 23 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 10
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 7
- 主题
- 7
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   5.26% 该用户从未签到
- 自我介绍
- 我本名为我,那就是我
 |
2 _2 V4 b9 c, o# W - #!/usr/bin/python
- : J! x. `! h/ Z$ z8 w- n# -*- coding: utf-8 -*-1 @4 ~+ E4 ^. g8 x
- ; D& c0 i& H- c9 o3 @3 I6 p2 e\" y
- import base64
- 8 j4 R/ ?+ k# P& w+ qfrom os.path import exists5 |7 w7 t/ F) O\" y\" Z
- from tkinter import Tk
- * h; ]/ c0 w- ]+ O- D5 V. x- B: cfrom tkinter.filedialog import askopenfilename
- + Z# M! T% n8 p4 K) R: C: [/ Ifrom urllib.parse import urlencode( g! g) B# K1 u& c: H9 v
- 3 T3 G' y$ j! Q% gimport requests
- + `( @5 b9 u& U6 S; S& R, j
- 7 k% Q, D0 \0 G\" C# p2 `8 b3 Z& z* |( m. T! H
- def Dialog_box():1 c8 M8 o$ i5 Z. t% z$ {
- root = Tk()# z' j1 E9 U0 K( E2 O# C6 p h
- root.withdraw()5 f, f! C% O* F: j3 s; J
- 0 E1 q\" n2 K# \3 u
- filetypes = [(3 o7 A1 N/ X; g& R, |/ m& W2 f
- '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),
- & n$ ^) c, Z0 A4 N9 E7 V ('所有文件(*.*)', '*.*')]\" Q$ v! `7 W9 {
- ( {. j' r# K$ m\" a
- file_path = askopenfilename(filetypes=filetypes)
- , z: E- y) F' s$ }0 x. u! O return file_path
- 1 n\" U/ @! W0 D1 V
- : u1 H( f1 t# |& R8 I, Z; M3 ]9 w5 `) r
- def Read_file(file_path):
- T5 P2 I0 W- b) f$ f) [ with open(file_path, mode='rb') as file_object:
- 7 c( i) o5 v2 e contents = file_object.read()
- # s\" p f0 n0 g. I3 i% G return contents.rstrip()
- 0 r5 j, W, f6 t8 _6 c, W8 C, e$ U\" t0 s( T$ H3 s
- 1 _2 t- y$ r$ P& C7 Xdef Baidu_ocr(binary):
- 9 ]- G% w6 s; H( M url = "https://aip.baidubce.com/oauth/2.0/token?"5 Q6 s. f ?) j: {, B9 P
- data = {
- 4 i {3 R0 U. c9 k "grant_type": "client_credentials",
- ( K& a: E( @ }) G8 C: d- ^ "client_id": "", # 必填
- 7 H9 i6 N! n) ^5 v7 c5 A5 Q6 |1 F1 a9 T "client_secret": "" # 必填
- 0 l8 U- c- M' S8 [1 ?8 K, ^/ M( w }
- 1 Q- C! E# Y: C2 I! r9 x url += urlencode(data)) @* r8 f) Z7 v0 ^
- response = requests.get(url=url).json()
- \" X1 s% M: Z7 i, Z' P3 ?6 J access_token = response['access_token']
- ( Z$ _( d# Q# |3 N& \; {
- ; I9 d# w8 a\" |& | url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token% Z# N3 T4 g* B% R
- post_data = {1 p\" e8 c# Q5 p2 L0 ~9 |
- "image": base64.b64encode(binary),% g, Z$ B\" m' I% H! R
- "url": "",
- ' P' B8 N) I\" ] "language_type": "CHN_ENG",$ O\" C6 Q$ s; |5 i( L8 ^
- "detect_direction": "false",9 S* \+ y% c7 L
- "detect_language": "false",
- 1 U7 s& z, A3 _# S& A4 h2 S4 d "probability": "false"3 E8 Z3 }* f+ y
- }4 P, T; O7 X9 [# k- \$ @- {
- response = requests.post(url=url, data=post_data).json()
- # A: }# C2 A. z# L. E num = response['words_result_num']
- 2 _6 y* l& c) s: P, a result = ''7 u7 N\" F l& q7 C$ i
- for i in range(num):+ n% j# M5 }/ A7 T) [
- result += response['words_result'][ i]['words'] + "\r\n"
- 4 w$ i+ y0 \: g return result9 V1 Q7 H a s: I2 g7 d% M
- 0 c; U5 I: R; a/ I/ x0 D* w- a( z i\" Q
- if __name__ == "__main__":
- ( l' ]' r5 c! Q0 i4 Q# X) o file_path = Dialog_box()( [5 y; T2 u R) m, U+ F& Z
- if exists(file_path):
- 9 i\" {7 Z( }/ @ data = Read_file(file_path)\" r9 v1 p! Y8 h4 I- W
- print(Baidu_ocr(data))
- & ^; _: p0 |$ \% E, d: k- D9 }. Q. F0 [6 H% E7 f0 w
, z: ?" D8 M4 O% C2 L+ N/ h
6 k$ g: E' v: o: D0 u1 o/ q' R, a0 G
Python交流群:1047602540 & b# p! F- b8 W
|
zan
|