QQ登录

只需要一步,快速开始

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

Python-百度ocr识别

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

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

自我介绍
我本名为我,那就是我
跳转到指定楼层
1#
发表于 2021-1-12 09:38 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
4 o8 M& E3 _, T: N' }2 }% N7 z, O
  1. #!/usr/bin/python! ]7 y5 h9 }4 `# B4 O
  2. # -*- coding: utf-8 -*-
  3. 8 [: T2 V- W6 H* C1 p1 X
  4. 6 U3 @9 j8 o8 A% f* Simport base644 W) g) K7 O% {4 U- p, F( t
  5. from os.path import exists7 q6 d5 U# ?; H. n- [
  6. from tkinter import Tk% B: H& f3 L# L
  7. from tkinter.filedialog import askopenfilename4 Z& \- k7 c) n\" O
  8. from urllib.parse import urlencode( o* c- e9 F) D, x1 X* ~: W

  9. ' j4 g- |3 O9 J  Pimport requests
  10. ( X& {% u- d& B$ X\" n* X) s; q$ m$ Z9 v. X; @

  11. % o: P  m9 l$ g# \def Dialog_box():# v4 ^. S1 D& H: }0 o
  12.     root = Tk()- H# M$ n8 |. m& L0 V3 w
  13.     root.withdraw()  o- _& n6 k2 v( L7 H$ F4 K

  14. # v- K( v- n5 u8 L5 c* ?- I    filetypes = [(
  15. 5 y5 C4 }& R5 V+ X# Q5 o! I        '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),
  16. & f: g& T2 X. [& d6 g. b) B( }        ('所有文件(*.*)', '*.*')]
  17. ) F2 l! H8 z% X- v  g
  18. 5 P$ r5 s! Z) T3 [7 v) z# d' l    file_path = askopenfilename(filetypes=filetypes)
  19. # V. U( }. t) q& j. v6 g, i! F, z    return file_path) S) ?1 [( e7 Q# F. n2 f5 U( V

  20. ; G' Y$ @2 |\" v& }# f  A; g; i. Y, n8 a5 r$ l6 O9 y  l% f9 O
  21. def Read_file(file_path):
  22. ( C: k/ B; S! K' L: V6 D& _4 m    with open(file_path, mode='rb') as file_object:5 D& G7 D& g+ {9 I3 N. @7 C
  23.         contents = file_object.read(): ], f1 j& T3 r) q' I2 }
  24.         return contents.rstrip()
  25. 5 M( s8 `8 @% a* `( O- ^/ _8 g8 U+ i; h6 \- N# @+ Q+ a6 h9 q* K

  26. ) a+ D, D- c4 x$ Vdef Baidu_ocr(binary):
  27. ! g$ K3 v% Z; r* P; N0 T# g1 S) c    url = "https://aip.baidubce.com/oauth/2.0/token?"
  28.   X, H0 J. `! U0 E7 {  A\" a    data = {
  29. 4 M2 G3 t$ j0 c) ?4 K- ]        "grant_type": "client_credentials",
  30. 9 u! @/ H  [, y: o8 S        "client_id": "",  # 必填
  31. 1 t3 M$ E6 X' n) q+ C\" H: J  S        "client_secret": ""  # 必填2 p2 }4 ?  X1 |8 y2 |. G: E
  32.     }
  33. ( f* O$ m+ y( z$ ^4 m: I2 Y) t    url += urlencode(data)- K8 N2 x* _! V
  34.     response = requests.get(url=url).json()- M$ I, o. j( P+ O% S3 D8 g5 H2 X) S- Z! T! G
  35.     access_token = response['access_token']3 _& q' i. q7 A7 I\" J5 e
  36. , `4 D6 a; d/ \\" v/ k  |\" ~
  37.     url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token% G2 x! O  x, G  a# J& M4 g7 P
  38.     post_data = {9 k! y# \1 i\" j! Q8 A. \% j
  39.         "image": base64.b64encode(binary),
  40. ( A: I; t\" q) h4 s  J        "url": "",5 t: I. f8 y) R5 e9 z
  41.         "language_type": "CHN_ENG",
  42. ; N4 u0 o+ s3 I) y- e        "detect_direction": "false",* p  t% Y9 }0 F# }' b, r
  43.         "detect_language": "false",6 n8 T( {) e# [\" M4 z, ]
  44.         "probability": "false"$ V- \/ y7 o- s) S& [, P- i
  45.     }+ K$ h+ u; _4 O$ g$ d% d\" K% T
  46.     response = requests.post(url=url, data=post_data).json()
  47. 1 X: V! F) a0 `    num = response['words_result_num']* `% S3 o- S3 ^1 B3 M. k9 B) a8 c
  48.     result = ''
  49. 0 P3 O- q& M6 l' X3 P    for i in range(num):3 S8 A' c, |+ E. k
  50.         result += response['words_result'][ i]['words'] + "\r\n"8 ^( s8 @0 m\" I4 d
  51.     return result( I8 w; N# z\" [$ x7 c# \

  52. 8 c7 z- d7 z9 V' o
  53. 5 X- e' p3 X4 k, C\" ]if __name__ == "__main__":
  54. \" l' N/ j  p: M# l  w+ {    file_path = Dialog_box()* e3 `; v7 o) D
  55.     if exists(file_path):9 V\" Y; D5 F6 y. `7 x$ n
  56.         data = Read_file(file_path)/ G, o+ J% l9 E, L
  57.         print(Baidu_ocr(data))
  58. 6 P! P+ e\" t& r, P: G8 q7 ?8 Q/ l  T. u/ d' U7 G8 Y
! l7 r. B; ~; p+ |# c+ C' c8 V
* |( q" x0 t& x& k( }4 \
0 \# {" n9 ?$ g$ k4 M3 T
转发自派生社区
Python交流群:1047602540

3 W' t* K5 d1 K6 x, w8 I" r, n
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-7-18 07:26 , Processed in 0.538115 second(s), 50 queries .

回顶部