QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2842|回复: 0
打印 上一主题 下一主题

Python-百度ocr识别

[复制链接]
字体大小: 正常 放大
檀俾九        

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

自我介绍
我本名为我,那就是我
跳转到指定楼层
1#
发表于 2021-1-12 09:38 |只看该作者 |正序浏览
|招呼Ta 关注Ta

# Q- S( o6 @1 P
  1. #!/usr/bin/python
  2. 2 `9 G0 h2 g2 G) S# -*- coding: utf-8 -*-5 A4 N: A' V0 P1 ?

  3. 2 o, L% Q( s% F0 e/ n8 V% ximport base64# m8 l  ~! h1 i( }6 a
  4. from os.path import exists& {0 K7 ?$ B* G( M
  5. from tkinter import Tk
  6. 3 g\" q6 w) S. }! q+ z2 bfrom tkinter.filedialog import askopenfilename% a4 X- m7 |\" \, U+ Q
  7. from urllib.parse import urlencode0 K- w% k) @$ F' Y: g
  8. - z3 N. x- u7 V. B  Z$ k\" i. a
  9. import requests
  10. ( z2 s, s( d; W2 i) K+ v2 Y$ m5 [6 O7 E7 d& [% n1 b& m

  11. # [0 j4 r  Z% B! m; o# rdef Dialog_box():. \+ C0 [4 b* U
  12.     root = Tk()9 d& K2 O/ ]0 ?5 H
  13.     root.withdraw()
  14. 4 o& \0 @\" j$ s9 z* r' `+ S5 E\" w2 M# v; v' s6 o+ D
  15.     filetypes = [(8 v9 w+ |* j9 _  p* b5 J
  16.         '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),( h) U$ Y% {/ F5 {
  17.         ('所有文件(*.*)', '*.*')]
  18. 9 d% o0 K( E: a! A/ Z9 {
  19. ; \1 ?; L- `7 z0 |+ E3 I5 |0 ]\" d    file_path = askopenfilename(filetypes=filetypes)
  20. 1 k- @7 M1 |5 d3 l    return file_path  w8 h  A) c7 F4 e$ C) ?: ^- F
  21.   F: l1 L) C8 b1 A

  22. 7 p0 e; U7 n( s\" q8 w3 }def Read_file(file_path):
  23. . n( I; B4 ?% o& t, ]    with open(file_path, mode='rb') as file_object:
  24. / z! k/ G0 ~/ j2 S% B; Q        contents = file_object.read()
  25. % f- C: j% w9 d        return contents.rstrip()
  26. \" f/ A2 m# w: \, ]4 s9 A\" n
  27. . @4 r. S) E! L' V5 ~& i9 \% C$ [! O* ]' h& \* a! r: f
  28. def Baidu_ocr(binary):. g, i- }* L9 P  t3 O# j\" W
  29.     url = "https://aip.baidubce.com/oauth/2.0/token?"
  30. 7 O2 I; f+ ]; j1 }* `* c' F' N    data = {
  31. $ r, @( n! p1 e! ~( g        "grant_type": "client_credentials",\" ?3 T2 h% b' {! U: i
  32.         "client_id": "",  # 必填8 x2 u8 A# K: N& v
  33.         "client_secret": ""  # 必填
  34. + y. Y' Q- p. [7 Z( s4 c\" A. q# r0 P    }! Q! v7 K9 k! J, E! [8 G
  35.     url += urlencode(data)
  36. 8 C0 p0 M1 j4 k+ n3 @. i3 v, b    response = requests.get(url=url).json()\" v+ G6 C7 k/ f# O# U' x
  37.     access_token = response['access_token']
  38. 4 g6 _' l, {  j. q) G# u8 Q/ o! ~2 e1 X& h- d4 Z1 P# a
  39.     url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token
  40. - e( ~% u$ i) A- S8 o\" j    post_data = {
  41.   L: ^! _0 \2 ^# d( z3 y$ q        "image": base64.b64encode(binary),5 u' j$ I( R: }7 V! d
  42.         "url": "",1 b6 v3 k& E' B. p/ V1 G' _* R
  43.         "language_type": "CHN_ENG",2 x( ?( v/ S& j
  44.         "detect_direction": "false",( [/ ?6 k& i; f/ g+ X
  45.         "detect_language": "false",
  46. \" N  ^/ j8 w# @& W% b- t1 c* Q        "probability": "false"
  47. 4 u# K- f7 r* z: n( [    }
  48. - N1 ?5 _, \, F/ \\" |7 O    response = requests.post(url=url, data=post_data).json()7 g. F& ~$ s2 N, V' v3 X; D
  49.     num = response['words_result_num']
  50. 3 E; e5 ~, ~& n\" h& P6 O( `    result = ''3 o; m. e# L4 l& E4 I
  51.     for i in range(num):
  52. $ ~8 a6 d) T  H' l0 ^  T        result += response['words_result'][ i]['words'] + "\r\n"2 V7 _2 B0 r: m! [6 }  c, N7 ~
  53.     return result
  54. ( X! @# E+ r+ O: q/ v: y- q1 H4 a. W- s: G; B
  55. $ `- j: s, c3 `5 C2 h
  56. if __name__ == "__main__":' P3 {7 i1 m. }1 ~+ s+ |
  57.     file_path = Dialog_box()
  58. , b; t5 X8 z! C  {  m1 @( Y    if exists(file_path):
  59. 6 w5 n3 n8 @; C1 {9 ]        data = Read_file(file_path)
  60. : i' d4 p: h5 o3 i        print(Baidu_ocr(data))
  61. ) 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
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2026-9-2 06:24 , Processed in 0.420068 second(s), 50 queries .

回顶部