QQ登录

只需要一步,快速开始

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

Python-百度ocr识别

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

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

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

3 ]* }; E, f- x# @  V
  1. #!/usr/bin/python: K8 g/ L2 x% K0 t. `, A0 r
  2. # -*- coding: utf-8 -*-
  3.   q' Z% M! A( o' C1 R. b! v: N- H; W$ Z6 y. G
  4. import base64
  5. * |, E\" Q: }\" Ffrom os.path import exists
  6. , U- Y- k5 G9 k. S% J5 N# Mfrom tkinter import Tk
  7. 1 Z3 l' C# Q4 W6 z! I) X* wfrom tkinter.filedialog import askopenfilename4 F/ J5 L0 p5 K- Y  ~+ |9 _/ p$ A8 o
  8. from urllib.parse import urlencode# \& `! q\" `& \
  9. # ]% [- V6 H! ?
  10. import requests
  11. ! y* ~$ ^4 ]2 B8 m3 Y
  12. - e% p+ x& @$ _. {8 o/ u( L* Y) e; Z8 M. r% P; O) z% w
  13. def Dialog_box():
  14. 3 {0 l. M7 C% K: B' l; ]    root = Tk()
  15. ( O) C) E6 @( s! V    root.withdraw()# H- J4 @$ ^- s; m

  16. 4 P' X8 m0 W2 q4 c, O0 _    filetypes = [(4 E! P$ h  z- X1 s. e% T0 r0 s4 u
  17.         '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),/ A  M5 ~- Z) p* x
  18.         ('所有文件(*.*)', '*.*')]  H# C, z\" t* f  `
  19. - X1 D6 o9 N, U8 ?/ L2 N  Q
  20.     file_path = askopenfilename(filetypes=filetypes)$ X\" W7 \9 \' v
  21.     return file_path1 y, p( T: c( S0 u. o1 J. O) k

  22. , `' X6 I+ Y9 X\" U: }8 |* c& e
  23. 4 X# r; ~2 ^0 Fdef Read_file(file_path):( G' J0 A! e# d2 H( f\" \& S$ N
  24.     with open(file_path, mode='rb') as file_object:
  25. 8 T5 L5 y\" N: {1 {\" H        contents = file_object.read(), y2 \  [4 ~8 ~, b\" h- L
  26.         return contents.rstrip()\" \% H6 k6 \7 M0 K. z
  27. + K/ V1 M/ Z- m1 A

  28. 6 N; M# y6 A! n% G& A% Zdef Baidu_ocr(binary):
  29. 2 V* W! I! |. |/ o( {% T/ h4 f    url = "https://aip.baidubce.com/oauth/2.0/token?"
  30. ! A0 ]2 @6 e0 s$ \    data = {
  31. / f4 A3 j4 `# Z        "grant_type": "client_credentials",; ^8 q9 m/ k' g* E- f. x- P
  32.         "client_id": "",  # 必填  I1 t: @0 J1 t6 a' u6 o
  33.         "client_secret": ""  # 必填' @. Z2 S+ r3 e& r4 i& }2 `
  34.     }% e# j  Y7 p\" r* K- ?: \5 c1 a
  35.     url += urlencode(data)3 ~# U, N/ H6 j6 T
  36.     response = requests.get(url=url).json()
  37. # p( c! ~' `! P8 A  z    access_token = response['access_token']
  38. ( W$ b. _! Q. b- J- }, ]- C/ f; P- R8 w  y+ v% b; h/ K
  39.     url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token
  40. 2 V9 q6 v  F3 l  e8 B    post_data = {. b' v- O/ _4 g. ?5 g\" s5 S2 O* P
  41.         "image": base64.b64encode(binary),0 Z- z\" T, }  H3 K
  42.         "url": "",+ C$ N- s+ F9 I5 A/ z( e
  43.         "language_type": "CHN_ENG",+ \0 H2 j$ W- \9 Y* ?/ o
  44.         "detect_direction": "false",6 S5 `! X: Q* Q( T; ^9 i
  45.         "detect_language": "false",
  46. % d6 o( @. H0 Z2 I  V, [  z' M        "probability": "false"7 n' C- B, M* B
  47.     }+ f5 z0 r$ M& \7 d- Q
  48.     response = requests.post(url=url, data=post_data).json()
  49. 1 p+ {0 C) L* R    num = response['words_result_num']
  50. 6 d8 a5 N4 z# ~$ A, q    result = ''
  51. - u7 n2 {/ k\" o. X1 O8 }\" R' s    for i in range(num):% f8 n/ p5 K7 u4 {  j2 N; U  r
  52.         result += response['words_result'][ i]['words'] + "\r\n"
  53. 6 N% K0 J9 `  |. M4 ?- h    return result
  54. 0 n$ a+ `6 ~: k+ ?( U2 `% M- N\" W' H8 e# B) W7 T3 x

  55. ! k3 U3 Z/ M$ b( H3 ~& W- hif __name__ == "__main__":
  56. 7 |1 o5 K! \' G. M* E0 t    file_path = Dialog_box()# H& M/ ~- E\" Y! Q, Q/ ^8 A8 I9 n
  57.     if exists(file_path):0 \  t( S6 V! B7 \  y  c9 m
  58.         data = Read_file(file_path)2 c( ?\" n4 l: f% V0 v8 T+ v
  59.         print(Baidu_ocr(data))7 m# _, m& u. c
  60. 5 M) z/ Y% P6 u' {\" ]
, x. H4 `7 |4 U7 `/ N
- j" J$ B3 a3 R' P3 ?
# S  [4 ?# R# f9 W9 i
转发自派生社区
Python交流群:1047602540
! p- ~/ n/ x; ?5 z
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-21 08:57 , Processed in 0.372908 second(s), 49 queries .

回顶部