QQ登录

只需要一步,快速开始

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

Python-百度ocr识别

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

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

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

+ d2 g( {' h) P8 H5 ^" @" R
  1. #!/usr/bin/python
  2. 4 ?3 q) [& ?5 ~0 H, z5 I9 t# -*- coding: utf-8 -*-* L1 H/ [' o# M

  3. # a$ k! K; I. rimport base64
  4. 4 h/ g5 X( `2 _7 ifrom os.path import exists
  5. % o( J/ V6 h8 M* H: j  B3 f# ^  ifrom tkinter import Tk: [0 c! R4 c$ b
  6. from tkinter.filedialog import askopenfilename# Z8 c7 [, y3 o; e  s\" a
  7. from urllib.parse import urlencode' Z' q8 |; _1 m. }0 z8 O7 P

  8. ) u% D) w( ~. P6 J9 Himport requests
  9. % |$ A8 W- x/ _# C# B
  10. 2 P4 w3 ]8 u6 M% N- o% g! V3 ~\" Q- P1 a: u! g. b. R) ]. ?( {5 R
  11. def Dialog_box():
  12. 7 H0 _& E9 j$ x  ]+ p3 Q$ h0 M    root = Tk()
  13. 5 v1 g5 z7 L: Y2 s8 C6 L0 K9 z9 {    root.withdraw()
  14. - i' J/ p) k$ e2 f. J0 N# M) y\" x\" a% Q5 V  m/ Z' W
  15.     filetypes = [(
  16. 2 g( e7 y. A  S0 ?' k! H        '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),
  17. 2 T) ^. w4 Q. ?* L1 b% c5 ]        ('所有文件(*.*)', '*.*')]: b( |; L2 X! D. d, @4 Q

  18. 8 @6 G  l* E+ N  X& z    file_path = askopenfilename(filetypes=filetypes)
  19. $ r. b, ^* Q! J: _    return file_path; d# G9 k8 I7 |0 O* O\" \

  20.   P8 N2 E% |& j- M  k7 X: t1 x8 [: y7 ^- Q
  21. def Read_file(file_path):/ F2 C. K( k0 m+ \; u7 ]% b3 S
  22.     with open(file_path, mode='rb') as file_object:( Y* r  `6 l+ n+ s$ w# M* a, q
  23.         contents = file_object.read()
  24. % C/ K3 N  ^6 L9 s# P7 b        return contents.rstrip()
  25. % F8 ?9 |  m4 D0 }- @+ i( h7 g; T6 D, f( s# ^

  26. / q& H2 E; \$ u2 L# Qdef Baidu_ocr(binary):
  27. - l4 l+ N5 F; [5 S7 z0 h* r6 P    url = "https://aip.baidubce.com/oauth/2.0/token?", B3 o# h\" {5 t. G! \
  28.     data = {
  29. ( \& e: c+ H6 b' A& L5 c8 C  `& G        "grant_type": "client_credentials",
  30. ; n2 n! C2 W/ H4 k* c! D        "client_id": "",  # 必填' O% g5 `) r. k7 `7 M
  31.         "client_secret": ""  # 必填
  32. * S) v1 M\" L' _5 K! k    }; C: L3 [$ n& \4 ~3 T
  33.     url += urlencode(data)+ `* m/ X- ]( c\" U
  34.     response = requests.get(url=url).json()
  35. ( B8 O! {3 s) H% U$ b9 B! _    access_token = response['access_token']
  36. . Q+ f# z, a! I; P0 v1 k
  37. % @% k/ j9 N1 R\" p\" G/ h' p4 v; k7 f* p    url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token$ X6 \8 l0 ^' j% Z# {& ]8 a# t
  38.     post_data = {
  39. ! _! |5 L2 j# e        "image": base64.b64encode(binary),) k' V( k% i5 W+ ^7 {2 u
  40.         "url": "",, q. ]* b& N$ l6 N5 w' }, S
  41.         "language_type": "CHN_ENG",  Q\" f( V! O5 U* g! y$ k2 }% \
  42.         "detect_direction": "false",/ |8 U$ L3 f! Q, S
  43.         "detect_language": "false",
  44. . c( U) l  c$ C6 s        "probability": "false"
  45. / z5 h5 @) I# _& H\" D9 T1 c    }/ i4 f( h4 \8 k6 Q& ^( K2 C
  46.     response = requests.post(url=url, data=post_data).json()
  47. \" |2 a+ `7 D4 y3 q& ]1 c% y    num = response['words_result_num']
  48. 4 Q. s9 E9 w  r$ j+ E. A    result = ''
  49. \" Q3 W7 \3 y5 a6 a5 [    for i in range(num):
  50. \" V2 j! N1 s1 `1 J# i        result += response['words_result'][ i]['words'] + "\r\n"# |6 j) k. }5 v2 A0 m/ o: i6 w$ P# H
  51.     return result
  52. - q: X- ~- U% G2 j5 V
  53. + x, b, Z3 V2 \- t  a* d9 b+ K; ?4 ]) m5 M9 W% g
  54. if __name__ == "__main__":
  55. 4 n* G: j4 F' t! Y3 i/ {: {    file_path = Dialog_box()
  56. ! n4 b) L4 s+ J- d$ j2 u' x1 U    if exists(file_path):0 ]) [% c/ t1 A: ^7 f' i
  57.         data = Read_file(file_path). p3 _3 X+ N0 [3 z
  58.         print(Baidu_ocr(data))4 d6 s\" p& T; b* T  P! t7 G
  59. / P6 a. ?6 u( y6 A$ V
* l. ^. Q# Y! n" M" r/ ~% t6 B) l; m9 w

4 _' ]) y2 Z) k0 l
3 C$ r& K$ f& y8 G2 z/ ]$ h
转发自派生社区
Python交流群:1047602540

3 m1 u) U, r2 B. w
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-6-2 22:37 , Processed in 0.295732 second(s), 50 queries .

回顶部