QQ登录

只需要一步,快速开始

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

Python-百度ocr识别

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

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

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

1 U0 j- e0 G, Z3 Q+ I" t! G$ r# f4 X4 D
  1. #!/usr/bin/python( e! K/ ?1 A  _: `$ N
  2. # -*- coding: utf-8 -*-
  3. 0 d% F8 u3 p+ c* U8 w# {9 m* Y  L) }\" T4 C# @5 A+ i8 f) \0 d
  4. import base642 c7 f) y- V\" y5 {0 U! `8 L
  5. from os.path import exists
  6. 3 W: S' b1 d0 u5 ]7 F% Qfrom tkinter import Tk+ J& }* F' @1 _4 |
  7. from tkinter.filedialog import askopenfilename
  8. + l\" @3 d5 y3 F& r4 r3 g+ efrom urllib.parse import urlencode5 e% |9 e9 p# N9 U: Y+ j8 [5 s

  9. \" e) `  j  _7 h3 y8 R3 Himport requests
  10. 0 ~5 h* i; S/ p5 s! d6 P4 y5 g+ G6 G7 B: h/ [! ?' J
  11. ; l5 ?' X' e5 C( c\" z& ~
  12. def Dialog_box():6 _9 Q: D5 H2 `8 N4 u
  13.     root = Tk()/ s1 q3 S% g- g+ E) w
  14.     root.withdraw(). W* R8 u/ I& V! D2 f7 b
  15. + r+ `1 t- J  d7 i( Z\" N2 `0 f: f
  16.     filetypes = [(3 j& E$ z2 ?7 |) J+ y/ y* z& b' m
  17.         '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),; R2 I: {. R* {! N1 S  x! G) Y7 |
  18.         ('所有文件(*.*)', '*.*')]
  19. & l4 f5 P+ j' p; e' P6 _) ]2 _1 o  s8 K) n. I
  20.     file_path = askopenfilename(filetypes=filetypes)
  21. 6 H2 X/ Z- Z& @    return file_path# ~; T) _% v1 i8 X3 n

  22. + o; @! ~' m; P: H6 N5 f- i2 P6 N; w' N( `/ {# c5 ~4 ]
  23. def Read_file(file_path):2 g1 I0 l' c( r
  24.     with open(file_path, mode='rb') as file_object:
  25. 5 ?/ T: t% I$ R4 j  ]5 Q        contents = file_object.read()
  26. 0 ?) C9 ]; b: B# [3 j( `$ d        return contents.rstrip()* W9 Y; j* J& C3 d  B% p
  27. , p9 d' A' C\" H* L+ K6 m8 V
  28. 7 @4 g2 B' z+ |/ m- g9 N
  29. def Baidu_ocr(binary):
  30. / o3 q8 \+ f- m6 |    url = "https://aip.baidubce.com/oauth/2.0/token?"
  31. - M! \3 @$ N: r- @    data = {. g. a& }+ B% x
  32.         "grant_type": "client_credentials",0 e8 v& K: F0 H! G\" ]: N7 K! T% \8 ?
  33.         "client_id": "",  # 必填8 O7 Z2 v& _4 T, r+ c) d3 Q
  34.         "client_secret": ""  # 必填5 d# r$ E: u9 @$ V; K3 [/ @1 d
  35.     }
  36. / E5 S* t; Y# E! `0 e5 ?4 L    url += urlencode(data)
  37. 6 x0 {: n+ s. u2 C    response = requests.get(url=url).json(); R4 N( g. A2 j! F4 [% X2 M
  38.     access_token = response['access_token']- k  K- M8 T; T

  39. 7 S+ ^1 d6 m7 s- \9 S; u0 W5 Z    url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token
  40. : K2 W$ A$ D/ t9 j$ L+ G    post_data = {* V! k' x# }. G
  41.         "image": base64.b64encode(binary),2 H) q1 w/ ^: z9 G2 |' A+ Z
  42.         "url": "",
  43. % M) l- o8 E+ E        "language_type": "CHN_ENG",; J1 C, N  h2 [& p7 `
  44.         "detect_direction": "false",5 O) E\" R  X! u$ S
  45.         "detect_language": "false",) I: n. r3 d4 \+ y( O! K\" F! M
  46.         "probability": "false"% ?1 ?, i5 w  ^) y
  47.     }
  48. * O4 t+ b( z; g# m4 V    response = requests.post(url=url, data=post_data).json()
  49. 0 X/ I/ g* I' t, @  p- Z    num = response['words_result_num']
  50. , X% J1 H' l' n- _( k$ t, x    result = ''; l& _7 X- W/ ]) \
  51.     for i in range(num):
  52. , v: }* Z8 E) |# j6 H) w6 p        result += response['words_result'][ i]['words'] + "\r\n"
  53. ( @- V: n3 v$ Y\" |    return result& I$ w7 s5 b- B
  54. - J, I$ F5 z& f3 [8 j. K) p

  55. \" N9 W( Y9 k\" y& X/ H% v1 I# ~5 j) eif __name__ == "__main__":
  56. ( _& t1 _2 b4 {3 _, w6 z    file_path = Dialog_box()
  57. \" h4 l# R  s$ W, g- o, \$ R7 w& B    if exists(file_path):
  58. ; A% y; X6 R- O/ K: ?. n        data = Read_file(file_path)# P4 @\" H/ O' r! u, z. `7 V8 \! T
  59.         print(Baidu_ocr(data))\" G) w. J! U& \5 a1 `1 X( j
  60. : s, K$ p2 k' d( T. R- M5 k) F9 G

2 @/ _. t0 J! M( Y+ D) N  m9 M9 l3 Z) |/ R4 l
, G, p& J/ J5 T& T2 G8 Y
转发自派生社区
Python交流群:1047602540

4 y& M+ e  t3 N% H  S; L& r" d
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 08:44 , Processed in 0.412598 second(s), 50 queries .

回顶部