QQ登录

只需要一步,快速开始

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

Python-百度ocr识别

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

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

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

" y% U: f; _" B+ Z3 y8 v$ s. G
  1. #!/usr/bin/python
  2. % {( r\" D& @$ v% n1 C# -*- coding: utf-8 -*-0 C\" ?\" q, U- U( ~0 b, x

  3. : z/ j4 z4 z2 c0 H6 yimport base64
  4. ; H( r0 y$ ?. rfrom os.path import exists
  5. + f/ `6 Q7 D9 O. Ufrom tkinter import Tk
  6. ( s+ o! s, X9 D5 \1 D9 P& E* R3 Xfrom tkinter.filedialog import askopenfilename
  7. 6 h\" _7 q8 j; M4 i8 _0 @from urllib.parse import urlencode
  8. . h0 s: I6 W0 _\" _4 E( C* |8 w  b
  9. ; ]! Z* N2 _4 timport requests
  10. 4 s8 b7 W0 `6 i! [3 |+ P( D, `+ ?! k; h: w* x9 R  l
  11. % A6 j( D) `$ j7 C
  12. def Dialog_box():
  13. / G6 C/ ~7 ~+ ~' K% |% f    root = Tk()
  14. & ~1 j, f6 M% U, T# O. o3 x    root.withdraw()' z. Y2 d. @6 B2 J0 b  v

  15. 0 F) j7 s. N. C4 b    filetypes = [(; @  m2 ^& \( O6 [: s
  16.         '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),* P, @, H$ V5 Q- J
  17.         ('所有文件(*.*)', '*.*')]
  18. $ `* |8 N0 i+ S; g: _) m- B- X; j7 d3 F7 |\" |5 M$ f  ?' a) E* ~
  19.     file_path = askopenfilename(filetypes=filetypes)
  20. # n& @5 @1 t; c    return file_path$ l, s1 }- p9 s. t, o5 X
  21. 3 v; e8 m$ ]0 g  H& L4 q3 }
  22.   b7 y, h; A\" H6 c5 @
  23. def Read_file(file_path):
  24. ! a; T& [8 y  P6 ~    with open(file_path, mode='rb') as file_object:
  25. % c/ j8 J* o/ z- x2 o        contents = file_object.read(); ?9 s* L  c6 {( `( x
  26.         return contents.rstrip()
  27. : _2 ^+ l7 v  }1 H2 A' |7 P. b$ t% ]/ p2 l4 o# c; R. J8 a

  28. & j: w0 {, F$ |7 F/ fdef Baidu_ocr(binary):
  29. ; o* v9 G4 j% h+ K0 k    url = "https://aip.baidubce.com/oauth/2.0/token?"- v* W& o0 k+ L# j' n0 \+ v
  30.     data = {& B/ V8 n$ m& P: Y9 K( [\" U+ H
  31.         "grant_type": "client_credentials",- ~8 Z5 z( E) c5 `
  32.         "client_id": "",  # 必填
  33.   t5 h  ?2 C/ A, Y2 P' X2 o        "client_secret": ""  # 必填
  34.   R  Z+ }3 s% @# h1 L8 }    }
  35. ! @: I3 V' ^5 V5 b9 U& Q    url += urlencode(data)
  36. 8 X  n0 M0 h% r2 _% \/ Z; U& Q3 V    response = requests.get(url=url).json()
  37. 6 A3 O: }  ~% E3 V2 L9 @0 c    access_token = response['access_token']
  38. 7 y6 c( |8 b2 C7 f$ w7 C8 d% u
  39. * v- w7 s: A8 Y+ T1 r: x1 y    url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token
  40. ! b0 `( J+ z; ^) l1 ~, p    post_data = {: n7 O/ {. i6 u
  41.         "image": base64.b64encode(binary),
  42. / [, c\" C9 Z$ j/ _7 Q* ~% i, f        "url": "",
  43. & \; S7 Y7 B7 Q) j0 ]  ^        "language_type": "CHN_ENG",4 D  E+ q! i3 f: _$ z
  44.         "detect_direction": "false",
  45. ( a6 e: d+ v. s        "detect_language": "false",! d1 h# c# \' r  z2 F( M5 W
  46.         "probability": "false"
  47. + c4 O\" w\" N5 E! C9 u/ b5 b    }6 m1 M% W  q; }0 d; s, U
  48.     response = requests.post(url=url, data=post_data).json(), ~( N/ V4 m: \. @9 c) s  N  K
  49.     num = response['words_result_num']. X( z4 S5 n1 O3 d& h\" A1 ^/ I$ n
  50.     result = ''\" a: d$ w- n  E6 `3 h
  51.     for i in range(num):0 A+ B\" e) F6 v* `. G/ N. j/ c\" E) }
  52.         result += response['words_result'][ i]['words'] + "\r\n"* S1 q8 W6 _) K% g- M+ O9 W0 p
  53.     return result
  54. , |* X9 L. C: T1 h- g0 n2 c
  55. ( v/ `0 w7 v* r( N2 |: ]* T0 F. T8 k: z* |+ V
  56. if __name__ == "__main__":
  57. * E2 J! G- z' z3 \  I  i! t9 R7 Q    file_path = Dialog_box()
  58. : a7 w7 v' P5 d( [& K* q! X    if exists(file_path):
  59. 1 z7 Z, V( U* U& t, |/ \7 ~        data = Read_file(file_path)
  60. 8 e: y$ A  Q7 O9 j        print(Baidu_ocr(data))
  61. ' x( P* G  `1 s8 W; g# H/ T0 x
  62. 7 \3 L2 R. a- E; W9 B- h$ C9 V

8 j5 p  y, N% d5 x1 S& l) Y* m9 U0 H
# Z7 g+ b2 E; ?6 R& Q7 m
2 M7 ~" j5 U7 ?# d( |. P
转发自派生社区
Python交流群:1047602540
: G4 r8 U% _" `
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-6-2 23:52 , Processed in 0.412881 second(s), 50 queries .

回顶部