QQ登录

只需要一步,快速开始

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

Python-百度ocr识别

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

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

自我介绍
我本名为我,那就是我
跳转到指定楼层
1#
发表于 2021-1-12 09:38 |只看该作者 |正序浏览
|招呼Ta 关注Ta
4 o; Y' N; N& h( J2 w8 y
  1. #!/usr/bin/python
  2. : `4 ^4 l0 C# i) s( M# -*- coding: utf-8 -*-
  3. 2 p9 o3 E0 c$ n& d0 k+ K! }
  4. 5 N4 a$ y2 C\" w# {. u  T7 l6 jimport base64
  5. 9 N\" D/ ?' x) I* |: n5 T4 |from os.path import exists
  6. 4 b\" P3 Y+ q, r; g\" a6 x% X% ufrom tkinter import Tk
  7. 9 H! W5 n# c) }  vfrom tkinter.filedialog import askopenfilename
  8. ! B9 F6 w# Y0 a2 y* T% _  y& Ufrom urllib.parse import urlencode
  9. # P4 \\" Z/ O1 |6 w0 n, @
  10. , P/ [+ j* X0 u$ R! O- Y1 Timport requests
  11. . P* h: E+ ?, ?0 p; K9 A9 o0 r7 N2 G; e# i9 j5 Q; b+ q- ^

  12. 4 R0 }& s' N  f2 Edef Dialog_box():% A3 B- `& T$ V
  13.     root = Tk()3 a3 T3 h, Q( K2 I
  14.     root.withdraw()7 u! F2 v3 N+ F  J/ `( O  T; d

  15. 2 J5 M$ ~4 F0 @4 X& J( _2 s8 O6 k    filetypes = [(+ S* e5 [+ K7 F& s$ K' f% @: H
  16.         '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),
  17. 5 P* q1 R: y# V. L4 _3 b. p6 ?        ('所有文件(*.*)', '*.*')]
  18. + q3 Y( a9 X0 u* f( K: v( g3 n1 b: X
  19.     file_path = askopenfilename(filetypes=filetypes)$ X/ ^0 P2 c6 @) t; C
  20.     return file_path0 v7 H, |0 p9 R# l$ `
  21. ( g: Q+ ?$ ~3 `1 _& o! r5 Q7 [/ j
  22. 8 o9 q\" l& ^  w3 r; }
  23. def Read_file(file_path):
  24. 6 c! V- T  t7 ^' D( [  {' x    with open(file_path, mode='rb') as file_object:$ r. H; O* h3 F7 K
  25.         contents = file_object.read(): |0 g; k- D: X8 ?6 \2 ]
  26.         return contents.rstrip()
  27. : t) I8 t7 y; t$ g& d! n- X+ J, o3 _/ J4 {# \$ D, j; I5 L
  28. / r# f& X  y1 Y5 b, `! g1 V
  29. def Baidu_ocr(binary):
  30. & u! G2 z  O9 U. C6 z: |$ @3 Q    url = "https://aip.baidubce.com/oauth/2.0/token?": v* J2 t3 K. a6 m
  31.     data = {
  32. 1 f! E. K! a5 t) x        "grant_type": "client_credentials",
  33. - E5 Q6 L; ^6 K0 d/ A        "client_id": "",  # 必填# {* a. U\" u0 e0 t3 a
  34.         "client_secret": ""  # 必填
  35. , \) f# N5 F  h/ q' m    }8 q5 R' w) s+ N1 _1 k
  36.     url += urlencode(data)
  37. 8 {, r) B! _& r* }- L3 O1 A    response = requests.get(url=url).json()
  38. : v, H; u7 C% B  C5 `\" r    access_token = response['access_token']
  39. , g9 K9 Z- C0 g; e
  40. ' k+ L; ^\" I0 l% O- t- ~  x& Z, |* ?    url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token
  41. ) d0 W7 t; K1 |0 G. `    post_data = {
  42. ; B2 F  R- p3 f, x. h( a        "image": base64.b64encode(binary),
  43. 7 c9 D3 q* D; y( g- @% [5 A0 q        "url": "",
  44.   p( M! Q' u! O2 Z        "language_type": "CHN_ENG",3 r; q7 k& S! Y% V/ H1 B0 w
  45.         "detect_direction": "false",& b& Z, p\" V& i; `( t
  46.         "detect_language": "false",; H; T9 I* U6 B: W. R
  47.         "probability": "false"; y) k# X5 @; E! r+ v8 Z1 u/ B
  48.     }
  49. & r% F* S8 w: ^' S    response = requests.post(url=url, data=post_data).json()
  50. / `( J: C% G: k! T4 k    num = response['words_result_num']  L* E; t( x7 U
  51.     result = ''
  52. \" s4 W* n: S* q) D\" l/ a& c    for i in range(num):& s# d7 u9 h* [  Z\" v0 [) x
  53.         result += response['words_result'][ i]['words'] + "\r\n"
  54.   A2 L+ [) E) S3 X0 V$ H    return result
  55. \" f9 V* D! R, C
  56. + @9 @9 @. j4 B, n
  57. \" B\" B7 y/ W1 L% ?! n/ F5 {# @if __name__ == "__main__":
  58. 9 U! L( F  `' n1 Z5 e0 G& o# A    file_path = Dialog_box()+ j: r: t4 I0 f4 F
  59.     if exists(file_path):0 Y/ }2 J# H. {( D5 [
  60.         data = Read_file(file_path)
  61. 5 M; u6 ]& ^. Z/ P        print(Baidu_ocr(data))
  62. 8 O% B% Y, d$ z1 y) P5 c$ F0 |) X, L, ~/ L( P' t

$ M1 N1 B; M: g) e7 n
3 @" F* A* m$ ]  D8 u4 N* A/ W" i0 Q) Y  H3 {4 L3 p. E- x
转发自派生社区
Python交流群:1047602540
6 l; |2 W, L. q4 R
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-21 18:31 , Processed in 0.643475 second(s), 50 queries .

回顶部