QQ登录

只需要一步,快速开始

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

Python-百度ocr识别

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

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

自我介绍
我本名为我,那就是我
跳转到指定楼层
1#
发表于 2021-1-12 09:38 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
. N, a! ^3 N3 ?. c9 E- f
  1. #!/usr/bin/python0 l\" P\" ~- U) ~7 a
  2. # -*- coding: utf-8 -*-/ L9 F+ o3 {. ]4 g/ X! Q4 K1 r) k

  3. . h\" Z! w& E3 X8 J6 Z+ zimport base642 ~  @# e$ ~3 f1 L  |
  4. from os.path import exists
  5. 3 j7 S8 w9 Y9 Y$ D3 V% Efrom tkinter import Tk
  6. 5 c/ \4 p9 t( |( ]from tkinter.filedialog import askopenfilename
  7. & z, ]\" z& b/ t, b3 Zfrom urllib.parse import urlencode
  8. ; e4 Z( E' l. l, R: O3 @1 W$ P' W4 r5 O
  9. # x2 ^& e+ X/ o7 ?# ]- [9 Ximport requests
  10. 8 D5 W* d+ [\" D& e( q' X6 b6 Y4 ?/ s/ q! K* m* ?8 c

  11. 9 f8 p. h0 i6 M$ Edef Dialog_box():; u! ]# h: f2 B8 S\" }0 q) P6 m
  12.     root = Tk()$ e$ F' z4 I9 _& N' K+ }9 j
  13.     root.withdraw()1 [; O7 Y! L7 J5 {' y- T
  14. 4 W4 P5 ~' z% z6 S) _( D
  15.     filetypes = [(
  16.   o- F# E8 ]9 H5 z        '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),
  17. $ A0 r; j2 {$ K- T+ d4 |) A0 B        ('所有文件(*.*)', '*.*')]
  18. + P. x+ ^3 d. }8 O8 t1 G! i2 s+ J$ l9 P# F$ \9 m2 Z% @
  19.     file_path = askopenfilename(filetypes=filetypes)
  20. 4 f. k6 @/ a5 z4 m- r7 w    return file_path$ e0 v6 l$ g. A, e: {& R
  21. 3 h8 ?\" I! x, |2 A6 N! Q) Z
  22. $ y9 u\" y# y0 U7 G\" j1 m( H
  23. def Read_file(file_path):9 O# j' v* F7 |9 `
  24.     with open(file_path, mode='rb') as file_object:
  25. + C( y' [3 l' b2 w: m$ e  n- b        contents = file_object.read()
  26. $ d3 @( W2 [+ F% W        return contents.rstrip()$ k5 }* e  Z$ h9 G
  27. - C; ^6 c6 h; w7 g( [2 m
  28. ' v  Z7 q  }2 e1 N
  29. def Baidu_ocr(binary):, i5 }! W7 q8 \0 b& H8 d
  30.     url = "https://aip.baidubce.com/oauth/2.0/token?"% P% T2 @8 G* Z5 K( h2 `$ ]1 e
  31.     data = {
  32. 7 G8 F$ ]\" s( v+ n- m\" ~& U        "grant_type": "client_credentials",/ w' S\" F/ H\" m8 z, j/ R5 _
  33.         "client_id": "",  # 必填
  34. 5 R\" G/ z! X, j; U! N/ z8 }% T        "client_secret": ""  # 必填
  35. # b) W  r9 g* s, a2 I3 H- M; z+ u    }0 h+ c+ V( d5 ?, S9 K  a
  36.     url += urlencode(data)! @2 @6 L$ Q' ~* @\" w
  37.     response = requests.get(url=url).json()
  38. , p0 S0 E8 H+ K# U    access_token = response['access_token']
  39. ' o, U8 j' P$ d7 [
  40. ' [( ^6 E: i0 v- c+ \& V    url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token
  41. % ?  Y* K7 e4 ]6 r9 ^/ `* y! B4 N    post_data = {2 W) M3 Z( z1 |- `2 @+ N! ]8 W
  42.         "image": base64.b64encode(binary),
  43. ; Z: o5 i5 Y9 v        "url": "",. r1 q6 f0 V( \! z4 n
  44.         "language_type": "CHN_ENG",
  45. & ^\" |( Y4 S6 g  `! w        "detect_direction": "false",) Q1 ]  i( P2 \; u% Q3 s
  46.         "detect_language": "false",3 ~3 H5 R6 \& U8 y  E, j
  47.         "probability": "false"5 m5 _4 A3 K. L9 c+ n0 p
  48.     }' z0 U: r9 d; Y/ B6 V
  49.     response = requests.post(url=url, data=post_data).json()
  50. % E' \8 U1 {& f; Z    num = response['words_result_num']
  51. 5 t6 J' ]0 b* j# b    result = ''( i/ A1 L: m. T* d6 M2 g
  52.     for i in range(num):7 F9 F0 L- x( u\" `/ d
  53.         result += response['words_result'][ i]['words'] + "\r\n"4 S+ e6 P' o% V7 h
  54.     return result( q0 @6 z* b+ h; R' b

  55. 6 a\" l# D6 W$ I; Q3 |2 ]. ?% ?/ E
  56. if __name__ == "__main__":( x9 m7 C3 E* x2 I) X\" l5 Q
  57.     file_path = Dialog_box()
  58. - O- A# T( c# p) C    if exists(file_path):
  59. 2 A5 {' F: w# ]+ h2 P! Y        data = Read_file(file_path)
  60.   s9 {: l  ]. F1 _$ _        print(Baidu_ocr(data))# p. R& Z  S$ J7 L
  61. : O$ R1 ?, d0 O' W* e# @! R+ c
# F$ R; a! G/ }' o- z

4 P# Z6 Y0 O5 y" J- x6 |  S3 u2 T! k  G( A
转发自派生社区
Python交流群:1047602540

+ @9 n% D  v3 \4 Z  G+ \# V! `, Y
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, 2025-9-16 12:19 , Processed in 0.346697 second(s), 50 queries .

回顶部