QQ登录

只需要一步,快速开始

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

Python-百度ocr识别

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

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

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

4 s% C# y4 T! T- p, A3 b3 ~
  1. #!/usr/bin/python
  2. $ m9 S% A* _. C+ p\" N# -*- coding: utf-8 -*-
  3.   Q4 `\" A\" g  w0 ]8 x$ U1 R
  4. ( Z) T1 d+ w& ~: n  }1 I% wimport base64
  5. 5 K! e& ~% O% K: Afrom os.path import exists; f$ u- j: @) R  _1 x7 D/ R8 d\" ^
  6. from tkinter import Tk' ~* w* @+ d0 J- J1 H: `' B
  7. from tkinter.filedialog import askopenfilename0 v( C7 Q* ?0 c& `( q
  8. from urllib.parse import urlencode8 g- G1 x; E7 \* Y: W: Z; C, B3 j

  9. , c: x& A0 |( X3 c. J: Mimport requests1 k  A0 z( J# b0 Y' d* N

  10. $ n; g5 Z7 e3 G\" v  w# e6 ]# E\" ?6 T3 p
  11. * I\" N/ `, C# d2 @; B8 u9 {def Dialog_box():. Q7 M# ~' b9 O) b9 ?# G\" M' _/ v
  12.     root = Tk()
  13. ; M4 N$ }- L* _/ M    root.withdraw()
  14. & ]$ j7 I6 C; e% h( q% R  F0 e9 X- r% _
  15.     filetypes = [(
  16. ( ~* `$ G5 ^8 S        '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),
  17. 0 g8 Y& {: F* Q3 m( _) `% O( l        ('所有文件(*.*)', '*.*')]3 G0 t9 B- m; Y! J

  18. - ^4 Q: U/ K; v. i, t8 c2 z- s    file_path = askopenfilename(filetypes=filetypes)
  19. - J6 N3 @; W& W- _    return file_path
  20. - c2 K* q$ W9 N& v0 t
  21. 7 L& l2 z4 ], Y  ^' {: U$ L
  22. 3 h6 U  s  }- L0 E# i\" ?def Read_file(file_path):
  23. , r. L, ?\" L4 s) S( b4 R    with open(file_path, mode='rb') as file_object:
  24. 8 n' Z* C* h1 d7 f/ v' k2 g; B        contents = file_object.read()1 M0 R8 y3 T9 ]+ i% Q) F
  25.         return contents.rstrip()! g$ ~\" M2 v: t) N
  26. 1 R% S( ^8 P0 ]+ Q+ k2 M
  27. $ Z9 d; }& K, L$ F# o
  28. def Baidu_ocr(binary):5 g; x: [- O4 P+ k; x3 J$ L
  29.     url = "https://aip.baidubce.com/oauth/2.0/token?"
  30. ( U! B* _. J0 f+ l% ]    data = {
  31. . d7 {1 t- N% W\" Q+ h5 I        "grant_type": "client_credentials",
  32. ( J7 ^; A4 M- z: I& M0 r        "client_id": "",  # 必填
  33. + f/ ~+ w9 @& U* u% Z8 q        "client_secret": ""  # 必填- V# M0 g+ G8 O/ K
  34.     }+ d4 k5 j/ K1 N2 |! U7 b7 s- F
  35.     url += urlencode(data)
  36. 7 b  D) U* `4 c5 `. A    response = requests.get(url=url).json()
  37. 2 L) t# B5 Y' Q& t6 k    access_token = response['access_token']) e, \' ]: d/ T8 R+ [& Z
  38. & n: t+ T; q1 N9 y$ v4 z4 O0 ~- a% \
  39.     url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token( g9 z. V7 @; c
  40.     post_data = {5 d: t) q0 Y# r6 R, ]( u& K- @
  41.         "image": base64.b64encode(binary),
  42. + Y6 \\" \7 c\" m3 F# X        "url": "",
  43. ! u& o1 k: b! i* J! C: @        "language_type": "CHN_ENG",; v! l; V, J, T, x+ G# `
  44.         "detect_direction": "false",- r9 P9 b% o0 t, z
  45.         "detect_language": "false",
  46. ( [% H+ a, i7 I, \* n        "probability": "false"$ h) p1 E/ Y& v7 r* L
  47.     }
  48. ' g# R1 I8 Y( m7 t    response = requests.post(url=url, data=post_data).json()
  49. 4 N% U5 Q9 d6 }! P    num = response['words_result_num']' E& q\" t0 ?6 u3 Q; z8 T
  50.     result = ''
  51. - B' D1 D6 w  e* W+ z6 @& S    for i in range(num):
  52. 4 Q' N( `# K1 m        result += response['words_result'][ i]['words'] + "\r\n"
  53. 5 ^$ _# [* e0 G  \    return result5 b) `0 v0 ]3 w/ p9 b* _

  54. # ^3 ]2 n9 A  ?! u* F( K7 s/ W# u5 ?$ G\" z1 v3 \. t4 s
  55. if __name__ == "__main__":: z0 \( X\" o/ \0 E
  56.     file_path = Dialog_box()8 X; o- r% L# u& X1 l! y
  57.     if exists(file_path):
  58. / }( L9 |2 T1 v% ]. `/ Y6 w        data = Read_file(file_path): T0 F0 T% |2 B6 h; Y
  59.         print(Baidu_ocr(data))# h; S, s0 T; C7 p' K
  60. 5 M+ _6 h0 M/ c\" Y: t

+ z3 L0 t7 E  p3 N1 u! a: `. E; _+ B0 i6 q; t) G3 A- i

( b+ e+ N/ g: K+ n; N; R' L
转发自派生社区
Python交流群:1047602540

  n. ~5 {, B) g/ {0 {
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, 2025-8-19 14:34 , Processed in 0.319137 second(s), 49 queries .

回顶部