QQ登录

只需要一步,快速开始

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

Python-百度ocr识别

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

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

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

% d$ h2 c' }/ ~6 u, r
  1. #!/usr/bin/python# M% a9 D9 c! o  m) W5 y
  2. # -*- coding: utf-8 -*-
  3. . \& x! ^, F, H% G+ n7 N* }2 |6 V3 L  v0 I, [+ y* m\" O
  4. import base645 A  y* g1 z8 ^$ P6 [
  5. from os.path import exists
  6. ) Z4 h# d- V& k7 cfrom tkinter import Tk
  7. 7 ]  x3 h% Y% |# f3 |\" P( h. e/ H\" m  Rfrom tkinter.filedialog import askopenfilename
  8. 5 M! u! d: R0 e0 S& q7 E$ Jfrom urllib.parse import urlencode! O3 ^9 f6 C' w* ^4 x

  9. $ W  h- g2 w* T! `5 E5 t: dimport requests/ r+ ]: s  N$ e7 x* n0 m, N% `

  10. + [4 u2 y7 P, m! K3 g* {# C
  11. \" p- ~\" F* ~+ G+ [: v# t6 ndef Dialog_box():8 M3 D4 u  e' h1 w6 k0 h
  12.     root = Tk()
  13.   |# _, U% {; }/ Y( |/ U    root.withdraw()
  14. 1 Z\" I# }+ ^$ p( M\" m7 F$ w
  15. 5 y* k% k8 T' D$ p, d    filetypes = [(
  16. + g) L. h9 u7 @  @- {* u        '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),, i) E! p3 D( x% E, L
  17.         ('所有文件(*.*)', '*.*')]
  18. 8 K; Q5 b* H: W
  19. - A6 X% d0 x3 e: T    file_path = askopenfilename(filetypes=filetypes)
  20. : {9 n$ X4 \$ b8 d5 a    return file_path; c$ v' H( X' z5 T* C

  21. 9 H! r% m* F\" \4 n* G. p
  22. & K\" k! h% i- h4 j& S  F7 \def Read_file(file_path):
  23. ! o  n7 ~6 M\" O  q) ]1 B3 L    with open(file_path, mode='rb') as file_object:
  24. % y3 D( ], A. g+ R$ [$ ~        contents = file_object.read()$ c, y\" ?, U' S4 Q4 W# g' C: h5 Y
  25.         return contents.rstrip()
  26. 9 J: e& w# c7 w! P0 l% y9 m( d( P& V
  27. 6 ]8 T& f$ ?! L9 ^% M
  28. def Baidu_ocr(binary):
  29. \" B/ E) ?( Y2 H2 t9 r! j& F    url = "https://aip.baidubce.com/oauth/2.0/token?"  r& D7 r+ m5 x9 K0 k/ }: E2 C9 g* v
  30.     data = {
  31. 0 j. N, ~5 x  t. W        "grant_type": "client_credentials",9 T6 L' L/ w) J9 m+ c5 h
  32.         "client_id": "",  # 必填
  33. , ]4 A1 U- u- a. a        "client_secret": ""  # 必填$ x# {, }, o4 l
  34.     }+ z$ F# h5 P5 O& \
  35.     url += urlencode(data)
  36. 4 F* C% |3 W% |! I% y. c, n$ `    response = requests.get(url=url).json()
  37. ' c\" ~, c* Z# y; K# y- w\" E    access_token = response['access_token']; y6 u! Y( y( ~% j

  38. ( {1 ^; z  F+ D7 c0 x    url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token
  39. & |& R% {9 N# [! I( J0 w. x7 G+ Z    post_data = {2 q, C1 c! G) L\" Y. L* C( p( I
  40.         "image": base64.b64encode(binary),; b- p  b$ \9 Q
  41.         "url": "",4 p6 C# }- i6 ?; K3 i5 {8 G9 l3 ?& H
  42.         "language_type": "CHN_ENG",
  43. 7 d$ k0 D8 n6 c& G- \/ L. d$ h! v        "detect_direction": "false",1 [2 z4 P! I6 Y  {, o  R, ]
  44.         "detect_language": "false",- q0 \8 C- r9 j8 j: g( a$ y
  45.         "probability": "false"
  46. 7 A9 |+ z, a* {' F    }
  47. ' O; [3 R9 I+ ]    response = requests.post(url=url, data=post_data).json()
  48. / ]) Z1 d3 F* i' |5 g1 n5 r& `. A    num = response['words_result_num']+ Q- C; u8 v( c4 v- A% @8 e
  49.     result = ''- ~2 `6 G4 r* \0 l0 a2 C$ }2 D6 K; i
  50.     for i in range(num):) I% O4 o: ^1 z1 M% a  Z
  51.         result += response['words_result'][ i]['words'] + "\r\n"
  52. ) \, G; n& J7 s) C8 M) x    return result+ x1 G9 {9 V2 d; |

  53. # g2 v\" v6 v1 a5 h1 _0 n% }/ w- T: o; {) m5 j) F
  54. if __name__ == "__main__":
  55. $ p) R) _0 e\" Q  S& w$ g    file_path = Dialog_box()
  56. . K% [# `! m' y# R    if exists(file_path):% I; C9 d: a! u( \
  57.         data = Read_file(file_path)
  58. 3 `/ y1 D/ H# C, c& U' d        print(Baidu_ocr(data))
  59. 6 q) l\" \) U7 j: q6 }: k. y0 ~! v& t! P
4 r; d7 J0 `/ A" ]
1 q! w) b" s# j
% y* C$ G2 t( X- Q4 l
转发自派生社区
Python交流群:1047602540
( s" ]( i6 l% f2 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, 2026-4-20 19:12 , Processed in 0.448579 second(s), 50 queries .

回顶部