QQ登录

只需要一步,快速开始

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

Python-百度ocr识别

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

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

自我介绍
我本名为我,那就是我
跳转到指定楼层
1#
发表于 2021-1-12 09:38 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
, e. B1 H. A. k
  1. #!/usr/bin/python: U6 L9 R' i' i
  2. # -*- coding: utf-8 -*-4 X! x* ^% j6 N) r8 x

  3. ( V4 ]: p6 a/ l\" D2 `+ t9 V8 }9 Kimport base64
  4. 0 w6 I5 R0 ?$ ~3 }from os.path import exists
  5. 3 k% _+ x- u4 A5 _1 _% n3 kfrom tkinter import Tk1 \$ V) A$ t9 s( p( ]. u6 w6 ^# A! D
  6. from tkinter.filedialog import askopenfilename# ]4 H  C# o1 h9 V
  7. from urllib.parse import urlencode% @& D* }9 c/ [( x4 W
  8. * @- |+ j( }! `* C+ w
  9. import requests: r/ m\" r5 L$ ]7 B8 l

  10. 6 r' _- i4 m! m! Q# h) ?) P# N. Z* g) m9 ?7 p* f
  11. def Dialog_box():6 H/ u& r& |( U1 r$ s
  12.     root = Tk()! q% y8 U\" l' V% T; n
  13.     root.withdraw()1 |' S3 }) R% X
  14. & G: d+ p* W3 C* X5 X5 S: u3 V
  15.     filetypes = [(- q: y. y& O( G7 j( c+ s
  16.         '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),1 z- ^3 }! k+ _$ ]# B
  17.         ('所有文件(*.*)', '*.*')]
  18. ) H, [- x  S8 R' t% u+ ^& V- f8 W
  19.     file_path = askopenfilename(filetypes=filetypes)' \3 R9 _6 @\" ]6 l/ q( W' T
  20.     return file_path
  21. ' c. F2 x+ i) T) H  k: p: a, m/ O0 S. {9 G, ~1 s) ~8 V\" G

  22. ; R7 F; }1 [2 h8 H# M. b$ sdef Read_file(file_path):+ ]% I; \* [3 I, W) J
  23.     with open(file_path, mode='rb') as file_object:
  24. ; Z; z0 z+ y- ~2 a' t3 N        contents = file_object.read()8 q* ^  }# V0 x
  25.         return contents.rstrip()
  26. 8 _+ J, z9 h% Q) ]
  27. ) l0 S8 ?\" E1 l2 W  a0 @3 A  P# c) C, [: P: Z; G1 b9 [2 s, g3 W
  28. def Baidu_ocr(binary):
  29. : v6 [3 I! U7 k7 x+ s    url = "https://aip.baidubce.com/oauth/2.0/token?"# K8 }* C; c+ w' ~' D) k( |3 b
  30.     data = {2 A, w: x\" \( i# ]. g3 ~
  31.         "grant_type": "client_credentials",5 A) e  m1 I; @: B
  32.         "client_id": "",  # 必填  O! ?; r' m  p' Y1 a6 c, F
  33.         "client_secret": ""  # 必填
  34. ! z$ v5 S# c+ w3 _  C+ R    }
  35. $ B9 l. `( A, _, t    url += urlencode(data)1 n2 H' N# E. i0 y
  36.     response = requests.get(url=url).json()
  37. 0 }- |/ I6 R' X/ K0 K    access_token = response['access_token']
  38. & |9 f$ U9 p% `9 M  G* r\" U* t0 u; R% A3 ~% ]: _- V
  39.     url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token+ x* L; |5 ^( I& p# x
  40.     post_data = {; O, z( o5 ~( {
  41.         "image": base64.b64encode(binary),2 R0 E5 o, i4 {( c* M% |. J
  42.         "url": "",
  43. / ^7 a- G. l. i        "language_type": "CHN_ENG",4 l3 p\" o; }9 |( Q
  44.         "detect_direction": "false",7 ^% B# b2 P3 Z. G
  45.         "detect_language": "false",9 t4 h  \& f, G- \; O# y/ r0 t( N
  46.         "probability": "false"6 V6 {. b$ L9 E
  47.     }, B' w1 ]. X# _\" |7 z6 `' [
  48.     response = requests.post(url=url, data=post_data).json()
  49. 3 ^$ H; Q0 I: u/ B. C& `2 b    num = response['words_result_num']
  50. 1 |9 k- x\" c  w5 a8 L    result = ''
  51. + E) [, p' j, m  w# q' J3 e- `& M    for i in range(num):
  52. ; @2 j2 k4 c9 X- n: Z9 o5 B5 H        result += response['words_result'][ i]['words'] + "\r\n"2 Q9 }; _$ @, c( q# {$ u
  53.     return result
  54. 9 S+ a2 G, y! H) P* s3 \- T' m
  55. 5 g/ I, H1 P5 N  e# e$ h7 T5 A1 O  e- Q: G' a+ X
  56. if __name__ == "__main__":; O5 s/ A- U6 b2 X8 v. @6 E
  57.     file_path = Dialog_box()5 s  u& I3 Y; A; l
  58.     if exists(file_path):
  59. + u2 Y4 u& _4 g0 x5 X        data = Read_file(file_path)( _* M8 T\" ?\" W$ g( Y, N
  60.         print(Baidu_ocr(data))
  61.   ^) }1 Z* r3 x) D1 g2 u
  62. & K, ?  c6 Z5 Z! A
4 C0 O6 w6 ?' j# A

) t* ^0 e: w4 P2 f; H
. ^9 r) S3 Z: F$ D- o% g% }
转发自派生社区
Python交流群:1047602540

  ^; G4 o2 Z4 Z# P/ p, F
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-3 02:47 , Processed in 0.525078 second(s), 50 queries .

回顶部