QQ登录

只需要一步,快速开始

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

Python-百度ocr识别

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

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

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

, W4 H& B; t6 g& N
  1. #!/usr/bin/python
  2. - d: ?/ N7 ?, Q5 m# -*- coding: utf-8 -*-7 |9 s4 G0 i6 o6 k8 r  \% T

  3. 8 `4 V6 d+ h; @* u& {  [import base64' O; n* t5 s& O6 X
  4. from os.path import exists% h; \  ?\" Y1 }, T& }) E/ J, g% |
  5. from tkinter import Tk* O8 b% u  q: G) D# ]! g. d
  6. from tkinter.filedialog import askopenfilename0 S( y- {  C1 \2 D$ k: N, W6 V
  7. from urllib.parse import urlencode( a* |: }1 n3 I  }, b- _# c
  8. 4 Q5 I6 Y' I* R
  9. import requests
  10. % f$ P' G4 T1 B$ y4 m( ]* C0 `: B
  11. - c; b! l! C8 \9 z4 M8 C  Q
  12. ! p6 t. l7 |& w' ~3 \def Dialog_box():# D; q' [6 t* q) X# U
  13.     root = Tk()
  14. 4 X8 ?: {1 Z& }+ M0 g( p& E$ J    root.withdraw()1 T/ p! _0 x1 _. t8 I& S

  15. / b! \; M1 @, }8 l; s    filetypes = [(; o\" E; U, H' j
  16.         '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),' N) D/ Y) O3 T! l0 y. W; Y5 x
  17.         ('所有文件(*.*)', '*.*')]7 X4 Z8 v; k7 O4 O
  18. 0 c9 e- Y: v7 I% u  `3 L
  19.     file_path = askopenfilename(filetypes=filetypes)
  20. 2 L' F' R6 x$ z+ ^% Y    return file_path
  21. $ ?5 }1 z+ v/ Q
  22. 8 X$ g! O* I+ e\" e) |! ?5 z9 F6 ~1 E' u+ _/ N. P
  23. def Read_file(file_path):
  24. . r. u9 |+ @0 V    with open(file_path, mode='rb') as file_object:\" n5 _! J9 Y5 I; N9 K6 T3 p2 |\" a
  25.         contents = file_object.read()
  26. / Z* @5 P6 U2 P0 @# D        return contents.rstrip()
  27. $ h  b. A) ?, M) J7 @7 B8 F) `6 [* q( D) i, H; u+ C7 ~
  28. : M* o$ n) s& l: L7 f. {
  29. def Baidu_ocr(binary):+ l8 U  `- v# s( a7 S
  30.     url = "https://aip.baidubce.com/oauth/2.0/token?"$ z( l$ ~3 x1 B* h' {5 Y& G8 {7 |/ z
  31.     data = {
  32. 3 k% l, v, R\" Q0 {% x1 H/ ]        "grant_type": "client_credentials",
  33. $ k/ E) b, m/ r2 ^7 A1 W        "client_id": "",  # 必填- M# ?+ Y1 g( j: d+ @# F4 S
  34.         "client_secret": ""  # 必填
  35. % Q9 A\" \0 w( u! \; L    }) ]( e  L; c  q$ v\" u$ u; u
  36.     url += urlencode(data)
  37. ' g; g, @3 u# b$ k  d, I* O2 Q) R    response = requests.get(url=url).json()  t* l; |7 u+ W( q6 K! D4 N( a8 o5 U
  38.     access_token = response['access_token']# t\" K1 Z- P# e: ]. j. ]

  39. 1 V( b8 j0 s6 e1 U$ I. O  _: `- e$ v  y    url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token
  40. - t- V* Y+ l, A/ [* G* I) n: m# M    post_data = {
  41. & n! D: l5 L( [/ |9 P. G. T4 \        "image": base64.b64encode(binary),& f  K6 e# w1 s\" q7 Z/ j
  42.         "url": "",
  43. 7 \\" k# ~) k5 I& `1 s, z) H+ S1 W        "language_type": "CHN_ENG",* H  M) k0 W) s/ w
  44.         "detect_direction": "false",
  45. ( w6 m. L( n3 m$ Y$ W+ W: D        "detect_language": "false",
  46. ) \5 W) _6 F: a! F        "probability": "false"
  47. 0 }* ^1 a0 y6 |4 W1 ~, f    }
  48. 3 `4 N# J( k0 ]/ g& k$ V5 q\" q    response = requests.post(url=url, data=post_data).json(); D; P, \4 k9 {* y9 _# u
  49.     num = response['words_result_num']\" H4 V& [% l9 n7 c1 D  x
  50.     result = ''
  51. 4 n9 w  t, x  p( F    for i in range(num):, c  g1 Q0 A\" b. L) A& d
  52.         result += response['words_result'][ i]['words'] + "\r\n") [\" Z- x- o. }# p0 b1 }
  53.     return result$ i0 D6 x/ G  r+ i

  54. 1 `\" N8 h1 N5 U\" L- d9 ]( K
  55. ) Y# h9 S9 ~' b5 Lif __name__ == "__main__":& ?/ Q) u( B\" y6 K) _3 j
  56.     file_path = Dialog_box(): H& d- @3 n- v0 n+ w) l
  57.     if exists(file_path):( o2 z  D  \2 z9 [
  58.         data = Read_file(file_path)
  59. * z* d0 q8 m3 Y* ~: |, j$ v        print(Baidu_ocr(data))
  60. ' M6 j; M$ D- d: i  Y2 M\" c\" ]+ c( r4 ], x4 x- ?
  R4 A" \  @% I' |8 K) T% n; {! z

# F* |' Q2 h) w/ V. D# A# h7 I8 ~9 B8 E( s6 N- Q
转发自派生社区
Python交流群:1047602540

+ q, x! Y, o# f6 ]0 U: j9 C7 Q
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-4-21 14:30 , Processed in 0.454075 second(s), 50 queries .

回顶部