QQ登录

只需要一步,快速开始

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

Python-百度ocr识别

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

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

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

% n6 d$ @' c) ]2 Q- M
  1. #!/usr/bin/python) V$ ~, O3 T. |\" A
  2. # -*- coding: utf-8 -*-1 U! B9 R* g4 h7 B- F4 t
  3. 6 H( ]6 G8 j0 y
  4. import base64
  5. \" {5 A, W4 K3 Z! d- N' rfrom os.path import exists0 j, N/ i  D: W
  6. from tkinter import Tk
  7. ' {8 j  L% d3 o- tfrom tkinter.filedialog import askopenfilename
  8. ! r# W1 D5 D& ^9 |/ }$ w* qfrom urllib.parse import urlencode3 `: {8 }2 A: P* }. p' Q) }1 t
  9. ( }2 f; d. j4 ~& ?8 `+ y\" S/ Z
  10. import requests7 y3 e5 l; }% }0 E4 K! r8 L
  11.   @+ W) e& ^/ {1 A2 R/ @\" q- l$ h5 I0 v7 v

  12. 9 E1 g/ v; d. i/ a! l5 c) n+ adef Dialog_box():
  13. \" H0 G& W8 J4 Q, S5 Q- p    root = Tk()
  14. . o' @, ]( m0 N! c    root.withdraw()( V& N: n6 e! q; u, `- I2 @

  15. 9 q6 {/ @% \4 Y/ Q, _    filetypes = [(
  16. ! W9 S- |$ e( b- C, G4 v        '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),
  17. \" T. H2 `! C/ I( O  j        ('所有文件(*.*)', '*.*')]2 z7 W  T/ j. x* h8 Z$ ^

  18. 3 t6 P0 P\" D& h    file_path = askopenfilename(filetypes=filetypes)
  19. % C: z$ Z, r# J    return file_path
  20. 1 e- H( f1 f2 {+ w- g2 s4 N* }
  21. ) c5 I$ w$ C$ d! h0 R' P
  22. \" i. Z# x8 C; qdef Read_file(file_path):* D1 U) r5 ?* U! |8 h
  23.     with open(file_path, mode='rb') as file_object:
  24. 8 C0 V8 l* M6 y5 N        contents = file_object.read()8 F; \9 I/ v  S4 L6 f) U
  25.         return contents.rstrip()$ _7 o0 ~' u\" [3 u4 X, d
  26. . u& }7 \0 W6 ]

  27.   R( \. T2 M+ o3 m4 [def Baidu_ocr(binary):% g7 k6 a1 t% Q5 w7 T\" y6 Z
  28.     url = "https://aip.baidubce.com/oauth/2.0/token?"
  29. . K1 `7 M; Y4 @    data = {) H2 s6 f9 A5 W+ j) ^\" R6 F2 E
  30.         "grant_type": "client_credentials",\" n3 f) U8 r- m
  31.         "client_id": "",  # 必填- ?, V  E2 v, r  j6 ^0 N
  32.         "client_secret": ""  # 必填
  33. # {* q+ q  A) E& C    }1 U: {9 g2 K- a8 c& \
  34.     url += urlencode(data)1 z2 F6 I: P. d( G
  35.     response = requests.get(url=url).json()
  36. : {5 m7 W  U- [! u, m    access_token = response['access_token']
  37. / }, L; `* b9 ]' g2 E* T
  38. ; \\" }& n# J8 K+ b    url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token
  39. 5 z: C( p: y/ k& y  {% g9 E/ A    post_data = {
  40. - t  }4 P* O& Q! Z2 D' d        "image": base64.b64encode(binary),
  41. \" ]* K\" `- X, D& T; |\" ?        "url": "",3 \& x0 A2 ^5 y4 w\" `
  42.         "language_type": "CHN_ENG",+ A# W$ y( y8 I7 O8 S4 S# L7 Z, W1 k% z
  43.         "detect_direction": "false",+ Z\" q5 P# q9 e/ C  ^* U
  44.         "detect_language": "false",
  45. 8 G6 |5 i- s2 ?8 B5 D% I7 v( u        "probability": "false"
  46. & q% l) N- q# Z3 n    }, J1 g9 }, P8 c) y) |  m; F/ @
  47.     response = requests.post(url=url, data=post_data).json()
  48. % r$ _* y4 ~: m! U    num = response['words_result_num']
  49. 3 p4 m5 m+ x% L) m    result = '') E' @; s6 j. c, ~
  50.     for i in range(num):, L0 M) B0 O! v/ m5 {8 M# j8 Z
  51.         result += response['words_result'][ i]['words'] + "\r\n"* T  {7 r2 ^% \9 r3 Y9 P
  52.     return result, s; {\" T  A) c
  53. ' F# z' _' }, s1 p! g( h
  54. * ]& J4 z- b6 J2 ~5 ]6 F
  55. if __name__ == "__main__":
  56. : @0 [+ [% A* @/ x    file_path = Dialog_box()% @+ Y- p6 E) K# ?! p; y* C' d8 t
  57.     if exists(file_path):, D/ E) h$ _# A; c  f' u% }6 G, E
  58.         data = Read_file(file_path)2 M- M( Y$ S6 }2 d2 t8 }
  59.         print(Baidu_ocr(data))( B! H/ V. _\" e1 ]7 p, Z

  60. 8 n! I/ ^) x( O

- M9 l9 G% i! `, u1 U! r" C. l3 x4 x) Q
4 b- q1 K( F- T  w0 v
% w5 N6 ?) p* {! J5 w8 Y8 v- X: t% @
转发自派生社区
Python交流群:1047602540
" ^$ t5 v) |7 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-10-17 08:42 , Processed in 0.315236 second(s), 50 queries .

回顶部