QQ登录

只需要一步,快速开始

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

Python-百度ocr识别

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

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

自我介绍
我本名为我,那就是我
跳转到指定楼层
1#
发表于 2021-1-12 09:38 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
; m# K( o' q9 c4 W; l( ^' F9 O
  1. #!/usr/bin/python
  2. 9 v: q* t8 v! y1 L& |) l# \# -*- coding: utf-8 -*-( B8 N2 G8 z& t; P. ]\" v0 i

  3. 2 ?\" f2 O9 z. ^; h\" himport base64' C8 C) o. z: K8 }5 w3 l
  4. from os.path import exists
  5.   D; u3 R6 g. F5 l. ifrom tkinter import Tk
  6. ( I! q. z! c( Z, j, X- T/ Nfrom tkinter.filedialog import askopenfilename/ e, z. ?- e  d3 E
  7. from urllib.parse import urlencode
  8. ) h1 L) t  p( a- _* o2 G+ o* @; `9 ~+ c) M% H2 S0 R
  9. import requests
  10. \" g2 A/ ^9 o6 F: ~* n# T
  11. / V. S  P3 b: u- _! i
  12. 3 a3 q! L; t- f, l( B: adef Dialog_box():
  13. / c9 R% p8 U\" \' M/ Y% [( \    root = Tk()
  14. ( H% z7 m3 T1 b    root.withdraw(): x3 {0 d% @0 o# T6 `
  15. + d+ K$ E) E7 s* c  j6 D7 c
  16.     filetypes = [(
  17. 7 Z/ w3 D1 ?2 X0 ^        '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),# g2 D/ L. S6 f
  18.         ('所有文件(*.*)', '*.*')]
  19. + ~2 z* D( b3 k+ [# K% s1 j. p
  20. 0 ]( T, `4 k9 A7 @: n    file_path = askopenfilename(filetypes=filetypes)
  21. ; `4 c- X$ w) \2 r: ]; j+ g    return file_path
  22. ! c7 `2 ]  P! m1 s. a  c6 T; i  f\" D5 I, L2 a9 Q. o& \) @) b

  23.   y2 d; t4 O6 Bdef Read_file(file_path):
  24. / y3 W# [$ C- O) C    with open(file_path, mode='rb') as file_object:
  25. 7 `5 d8 v: J/ P2 m/ w8 N! @        contents = file_object.read()
  26. * ]; ?- ?9 D1 ?( z( _% v0 N        return contents.rstrip()6 E5 O7 \: q# p) R2 `/ e
  27. . a2 Q: i( v7 }+ {8 O4 w: Y3 k
  28. 7 C3 f' N( p$ V, `
  29. def Baidu_ocr(binary):% A1 \: v, N% J3 o
  30.     url = "https://aip.baidubce.com/oauth/2.0/token?"
  31. ' j% {: @& J\" p: o' O; v, O    data = {* b0 g\" s2 Z) K. L; f8 }
  32.         "grant_type": "client_credentials",, c/ s\" t( V! x
  33.         "client_id": "",  # 必填2 i1 u8 o  ?& o3 l* l
  34.         "client_secret": ""  # 必填
  35. / L& ^5 I6 {* c, \3 E9 K    }
  36. ) `) G* a3 e. U4 D5 w( i; O    url += urlencode(data)
  37. : q* ?* g  n5 I& }* N. P; C7 [8 [    response = requests.get(url=url).json()( r( N* n! R, C
  38.     access_token = response['access_token']
  39. ! S; X\" H# B* ^
  40. # P; I& ~) W0 y( b5 r    url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token  U9 Q  ~1 u+ o3 ~3 y3 t
  41.     post_data = {- k: N% I9 t4 I( w. T\" d
  42.         "image": base64.b64encode(binary),# a2 E; `6 P8 ~# U- K' X
  43.         "url": "",8 i& c, ^- A1 Y) F5 d4 f+ T+ S) s, R
  44.         "language_type": "CHN_ENG",
  45. 6 N1 K9 K\" n; b7 i8 o1 @' Y- G) r8 N        "detect_direction": "false",
  46. 4 u1 [7 z\" x* L& _1 V6 A        "detect_language": "false",! q- t\" O$ u% d* f
  47.         "probability": "false"% q8 L2 A8 U2 c2 D; `
  48.     }' m$ v& Q. q* ]* V: V; }* {9 [
  49.     response = requests.post(url=url, data=post_data).json()
  50. 1 g3 k# V2 {; m, T3 w  [! W( G\" p    num = response['words_result_num']: Z( R) T( k\" r$ Y
  51.     result = ''' ?1 u. ]8 R# }4 s9 N
  52.     for i in range(num):0 N; ~: w& n4 M- }! O. ^
  53.         result += response['words_result'][ i]['words'] + "\r\n") k3 f5 F2 o! O, M
  54.     return result5 ^0 w) }2 F1 O) F! l2 u

  55. 2 o3 Z\" V\" s, F\" \5 Z, s% O
  56. 0 _5 ~, \- M. Y! X2 |; wif __name__ == "__main__":5 X3 J8 L  S2 Z. N\" g* Y
  57.     file_path = Dialog_box()
  58. - n- F3 N\" {8 z    if exists(file_path):
  59. 5 N9 ^5 r) }/ J* I        data = Read_file(file_path)
  60. 5 v. b- \# _2 h  L- \\" [  w        print(Baidu_ocr(data)). W\" b6 S, l$ l2 b2 Q; u( b, n9 H
  61. . g  i; A: b( @( ^7 j6 v
" Q2 n: p, L2 h
$ U' g! K! W+ Y

  Z3 j, y5 R0 g+ ]/ i2 k3 H5 x
转发自派生社区
Python交流群:1047602540
0 c) U: J" ^+ @
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-9-2 03:44 , Processed in 0.420642 second(s), 49 queries .

回顶部