QQ登录

只需要一步,快速开始

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

Python-百度ocr识别

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

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

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

1 V1 \  U$ A* _( F, g
  1. #!/usr/bin/python
  2. ' ^, Q% ]5 B# U/ M& V8 X# -*- coding: utf-8 -*-' ?) |' |4 L3 x) Z0 i\" ]7 H/ A: R

  3. / t: b4 G( N! h* n: R' L% fimport base64
  4. ! e* M\" I: ^3 V/ }8 efrom os.path import exists6 Q/ x1 s/ a/ N% S
  5. from tkinter import Tk
  6. 7 x, w+ w4 u( }0 J6 u  Kfrom tkinter.filedialog import askopenfilename4 n9 Y6 R. M* x* k  r+ g9 D0 h
  7. from urllib.parse import urlencode# k, k$ r) r4 M4 U' s; V3 K

  8. % C& r& f6 q/ I8 q  fimport requests
  9. & r# M8 \) p* ~5 I% x+ I- o3 u3 @, j9 P' X7 n

  10. # z% J4 z+ M- O8 u4 p7 o: Jdef Dialog_box():/ B' ]$ d3 _( v7 q6 J9 b
  11.     root = Tk()
  12. . A* p% K$ S: e\" J# X4 M- f* p# H1 \* _    root.withdraw()/ k; F* c  R: h0 F5 F, @  E! q
  13. , x6 G4 F0 W. e' `; Y
  14.     filetypes = [(
  15. 5 X5 k+ Q- t+ z6 j: e        '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),
  16. 9 n# _\" N9 c\" z9 x3 m        ('所有文件(*.*)', '*.*')]3 e# i: q7 p  I

  17. 6 X3 K7 j' v- @0 I( B8 h8 z3 o( @    file_path = askopenfilename(filetypes=filetypes)
  18. 6 N7 F( j+ T) l    return file_path
  19. - S6 ?( P# ?4 O/ [5 h- y3 h8 h0 w% z, u. \  o# L) Y( b) T0 e! O
  20. 0 Q\" s3 k; T/ s7 @% Y1 h
  21. def Read_file(file_path):
  22. . a8 {3 f& f# U2 J    with open(file_path, mode='rb') as file_object:
  23. , o$ C0 d6 C9 K        contents = file_object.read()2 z( `: S7 |2 A1 L+ n0 ~% i) k
  24.         return contents.rstrip()
  25. % N7 Z0 h& {$ p( \( Y
  26. 7 H& E/ k( O8 l: k8 A8 c  a: z0 D
  27. def Baidu_ocr(binary):
  28. - }8 x% ~: O3 F) S) g    url = "https://aip.baidubce.com/oauth/2.0/token?"$ Y0 m6 s' V+ i- R
  29.     data = {- x: e& ]8 m3 C\" ]4 S% @
  30.         "grant_type": "client_credentials",
  31. . x' W/ `- t/ F( u        "client_id": "",  # 必填
  32. ; n6 l' w( `% |) r5 P7 q        "client_secret": ""  # 必填
  33. * B& ~* Y2 u% ]* j    }
  34. 0 d) C- y$ Y/ l; `+ d    url += urlencode(data)
  35. 7 Y/ _  }( J. K7 M    response = requests.get(url=url).json()5 C& u& t$ o( M1 r
  36.     access_token = response['access_token'], r* `8 k; U( i

  37. 0 @9 r# S, I8 f: E8 B3 b    url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token* P$ R' O9 f, J3 D
  38.     post_data = {8 k' V0 N- ]/ E
  39.         "image": base64.b64encode(binary),! h. D1 f% w) N
  40.         "url": "",
  41. # K1 U4 m( e  @  I9 x5 g        "language_type": "CHN_ENG",, h5 ]8 E( \/ ?
  42.         "detect_direction": "false",
  43. 9 q8 P. R% t' x) D4 \        "detect_language": "false",
  44. 9 N3 F! H6 N2 M. {$ [/ B        "probability": "false"
  45. 1 Q2 e$ `4 M0 p$ h8 O    }9 x1 L7 U8 a. G! m% C. \& s% ]
  46.     response = requests.post(url=url, data=post_data).json()- h5 S8 O. k8 T$ M6 c! Y
  47.     num = response['words_result_num']# v' T+ i9 d! G' D  g
  48.     result = ''
  49. \" s* b& M9 e  O4 y) c- y    for i in range(num):
  50. 6 ^\" g- m\" q/ Z        result += response['words_result'][ i]['words'] + "\r\n"
  51. 5 N! t- ~5 X\" T* v, T    return result0 g9 O- R; f! \8 V4 ?, U

  52. . B) u% ?$ b2 m; M* [2 A
  53. $ k% V0 o# H* q( @& h/ B$ C/ kif __name__ == "__main__":
  54. 5 J* ^5 L7 ?2 W, [    file_path = Dialog_box()
  55. \" m2 c/ _# z' s, u- h! L    if exists(file_path):
  56. ; o( ]& B\" [4 Z5 Z- y, E        data = Read_file(file_path)/ r4 x7 D8 x\" b+ ~9 q+ Z2 j
  57.         print(Baidu_ocr(data)): I2 ~, o9 \5 F( N2 l0 k
  58. + L7 E% u8 N; V% ~

# B* a; w" m0 k% Y0 N) I0 E+ ~, z+ W& n
0 |0 \. [# V, d4 N
* k1 x7 p* T" U3 D  C
转发自派生社区
Python交流群:1047602540

* p4 w8 K; A. E& R4 ^
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-18 22:09 , Processed in 0.449231 second(s), 50 queries .

回顶部