QQ登录

只需要一步,快速开始

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

Python-百度ocr识别

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

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

自我介绍
我本名为我,那就是我
跳转到指定楼层
1#
发表于 2021-1-12 09:38 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
% O4 [- z, H. w" \2 g+ V
  1. #!/usr/bin/python
  2. 0 o  m) R9 n& j0 l: i# -*- coding: utf-8 -*-+ J6 B( X- a0 s+ v
  3. ) z& ]6 |0 f, L\" n  L- o
  4. import base64% e0 d( W/ u/ V9 i
  5. from os.path import exists8 c0 a/ V9 {/ w
  6. from tkinter import Tk/ ~7 P2 q! A5 y5 k! n& l6 v% C
  7. from tkinter.filedialog import askopenfilename0 w0 v$ }  G2 U) M5 v! f
  8. from urllib.parse import urlencode0 w% _1 S/ w2 i- N( ]2 ~4 s

  9. 3 e1 I4 e% U% r9 Himport requests& w\" _1 c5 R1 K5 E; V/ K

  10. $ e/ y2 T0 }( R: u1 j' j5 s) o8 w0 v2 E6 p& v$ R8 T6 F
  11. def Dialog_box():+ f! t/ ?  L, \& D) B4 J& |* y' ?
  12.     root = Tk()4 q# w/ `- w+ w. F\" w5 A
  13.     root.withdraw()
  14. + q2 E' |$ t5 M! S
  15.   v# ^7 g+ m; q/ P    filetypes = [(
  16. , {9 @% z. |+ A        '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),1 |( b% s4 k\" f% ?- h7 s
  17.         ('所有文件(*.*)', '*.*')]
  18. 9 z9 a3 m7 j3 h7 P; B2 q7 J. ?
  19. 0 I7 x  Z4 g\" o+ r9 u+ Q    file_path = askopenfilename(filetypes=filetypes)1 e3 Z7 }' ~9 u* t- z; b
  20.     return file_path3 j! A! I/ T% v

  21. 8 ^8 V- Q) j6 q) I+ a
  22. % v: m$ ?& ~3 z* c4 F7 p( |. A/ ?7 p$ Mdef Read_file(file_path):
  23. 5 X5 ]5 Y) `9 v. `: u* c    with open(file_path, mode='rb') as file_object:+ Y# T\" b  t' R& ^\" |. x% K& [3 x  ^
  24.         contents = file_object.read()
  25. 0 E0 F; J* i/ M  h\" ]! _' O1 c        return contents.rstrip()+ h8 h4 H2 w/ n4 F) H
  26. % H) v9 E' i9 E8 c* y; S\" \1 k; h6 m
  27. 6 i( P2 ^& {  U6 [# K
  28. def Baidu_ocr(binary):' X  E, l6 u  k- R% @
  29.     url = "https://aip.baidubce.com/oauth/2.0/token?"2 [! g: Z6 O$ n
  30.     data = {) L% l; D9 t) {* d
  31.         "grant_type": "client_credentials",4 \& Y! \9 n) R& h7 Y# u4 q# J
  32.         "client_id": "",  # 必填2 z; t9 l$ \8 y# w
  33.         "client_secret": ""  # 必填/ L. R( |5 S2 W8 P
  34.     }
  35. 9 c5 k& [; {( [% |! \  w    url += urlencode(data)
  36. ( ^5 u) {# y( r, l- o; f    response = requests.get(url=url).json()  ~$ t. z* X  _
  37.     access_token = response['access_token']2 u: U$ ]# z1 {5 R
  38. . ^4 t# a4 X- ~( [
  39.     url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token' {9 P; Z: i; u* h; `/ K% M! A
  40.     post_data = {& s  t/ C\" ~3 x- ^' q) I
  41.         "image": base64.b64encode(binary),
  42. ) W1 Z  w\" a0 B* p        "url": "",, o' h( R$ t# v/ z8 O- B
  43.         "language_type": "CHN_ENG",
  44. 0 y/ e% [) `1 n/ k' F: v! g        "detect_direction": "false",
  45. * g2 S\" V/ r+ C9 a/ B0 ]! n        "detect_language": "false",
  46. . m- {& w2 q1 e% z% M: m( B  W! q        "probability": "false"
  47. ' z( u  |/ P6 r0 q- \    }! c\" r) H4 I3 ?' @' d5 I4 u
  48.     response = requests.post(url=url, data=post_data).json()
  49. 4 s8 W) \* W& @, h' i1 h$ w    num = response['words_result_num']8 A4 P+ Q0 N6 B; y0 Q1 o/ O
  50.     result = ''7 u7 i: p\" U  f$ |  i' G
  51.     for i in range(num):8 J& |3 n4 s! R% ?( p
  52.         result += response['words_result'][ i]['words'] + "\r\n". i- I\" m0 C: M: e2 P
  53.     return result) u* e) x2 ?; A- T

  54. 6 {5 r% @9 f  N: `5 G: a# K, Q5 y2 A7 o  T( G/ n; f0 K6 g; R
  55. if __name__ == "__main__":/ B, r) i+ X5 T  c5 q7 l
  56.     file_path = Dialog_box()
  57. % H& Y6 c9 g* V\" }: k    if exists(file_path):$ G, A$ y% \  z1 {! O& l% C
  58.         data = Read_file(file_path)$ T+ ?  J% g: D+ C& R, e
  59.         print(Baidu_ocr(data))& w! |# R# m) r+ T; K0 {  r
  60. 3 w; [, v$ p) i- v
, a" b7 A! c+ Z  l

. [$ M* L! Z( J5 z' d& K) w1 v2 V6 v$ j6 T2 I+ y( x6 \
转发自派生社区
Python交流群:1047602540

. i! e2 s$ y. N3 k0 J% F1 k
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-7-18 03:55 , Processed in 0.540126 second(s), 51 queries .

回顶部