QQ登录

只需要一步,快速开始

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

Python-百度ocr识别

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

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

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

1 N3 c# ]* H& d$ K2 v! P
  1. #!/usr/bin/python
  2. \" F+ w/ m* u+ D2 ^- z% K# -*- coding: utf-8 -*-: r5 f: S5 ~, h

  3. ) Q$ r$ r& l/ i' z& N7 c5 C5 fimport base64# X  m0 D4 ]4 P7 N1 A( o
  4. from os.path import exists
  5. 8 x: V9 b/ C5 S% @: Z4 Afrom tkinter import Tk9 y% f' D. `- O  N4 a
  6. from tkinter.filedialog import askopenfilename
  7. 5 u# {* j6 x! c' E: X7 Ffrom urllib.parse import urlencode* V* D4 f3 L# G! n+ D7 h+ A
  8. ; b3 d. B: X\" @9 p  f! h. g
  9. import requests6 h, j: G! z4 d- s) ^

  10. 1 G  F/ q! m  Z$ _* n8 A5 ]8 Y
  11. - {# P' {# R, V( S. H2 S7 Ldef Dialog_box():; A. I4 o8 F+ E. N, l. Q9 \
  12.     root = Tk()
  13. ; `0 H0 y: N# i+ `5 D8 w* w+ @    root.withdraw()$ x8 Z1 _9 a) V$ b
  14. ' x+ F6 }9 o& n8 U3 Y
  15.     filetypes = [(
  16. * n# ]+ p\" u; ^        '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),
  17. ' h# c' u+ C. j% x  u        ('所有文件(*.*)', '*.*')]
  18. . h& i8 Z1 z( O- K, t* s2 ]/ y+ N/ J' @/ J
  19.     file_path = askopenfilename(filetypes=filetypes), h\" }/ H; q7 e+ }- Q% z
  20.     return file_path
  21. 6 r5 R* ]6 X6 W# C+ ?
  22. 5 A( R( }0 M0 h5 `' F4 K  `$ @7 B8 Y7 f+ h8 A6 P1 [
  23. def Read_file(file_path):4 r6 Q' p# i: a2 a% O
  24.     with open(file_path, mode='rb') as file_object:
  25. , H/ L/ `& i  {! R4 K        contents = file_object.read()1 I3 B' A' s: h4 }( ~
  26.         return contents.rstrip()\" D) F- x/ P* w* R5 j/ W1 m
  27. . B4 K7 G) k( V

  28. ) o) t. a' `0 _def Baidu_ocr(binary):
  29. , W3 I4 t  U1 f8 a6 a% w% }0 N    url = "https://aip.baidubce.com/oauth/2.0/token?"
  30. - @) T% c( f( p% s% [    data = {
  31. * v! p\" u/ ?  i3 {0 U        "grant_type": "client_credentials",# k& e1 f0 ^' d6 ^9 S5 P) [- X
  32.         "client_id": "",  # 必填
  33. ! r/ ~/ a. q. k9 F6 F        "client_secret": ""  # 必填
  34. % C' Q& W6 P5 `) K* X- B    }
  35. * t! A! L2 A3 F0 f' _    url += urlencode(data)) U& p9 \0 N1 k, {- b5 z
  36.     response = requests.get(url=url).json(): ~, g1 V% l3 A* G* g7 ]3 L6 j9 Q% Y' t
  37.     access_token = response['access_token']
  38. 1 J\" ~5 K# z# p  x) }# c8 ~( |9 |3 T5 `/ H: ^  q8 W0 r( H
  39.     url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token
  40. 5 n# Y0 L5 W3 t! M: B\" ?    post_data = {
  41. 1 u# m( u, {; ]) K        "image": base64.b64encode(binary),2 A: m* V4 u7 I! A
  42.         "url": "",% ^5 y6 q  J$ R. D% g8 \3 M
  43.         "language_type": "CHN_ENG",8 z% ~5 r% `; z
  44.         "detect_direction": "false",
  45. * u2 l' m\" h/ D, x: x, J        "detect_language": "false",
  46. \" V+ \* d7 ^4 g( t        "probability": "false"
  47. 1 b+ @) D9 n8 U/ \5 k4 S* C    }6 ^: @2 c4 ?6 s9 v! n
  48.     response = requests.post(url=url, data=post_data).json()
  49. / F  v, X4 A! ]' a1 t; u    num = response['words_result_num']- z8 y6 B9 }* t7 O8 H) }1 u' p! Z
  50.     result = ''
  51. 4 W# }6 Y0 L& [( j    for i in range(num):' K  A  O: ?\" J$ i9 s( Z* v0 `
  52.         result += response['words_result'][ i]['words'] + "\r\n"
  53. 2 f0 q& e. A3 }! `( b0 [  @    return result
  54. 8 Q! n0 `5 l! ?! C- C. ]3 @5 V( c3 h+ s6 t3 E3 X
  55. # z* e3 S% H; Z\" n; o; M6 {
  56. if __name__ == "__main__":
  57. % M7 Y/ c! Q7 L% {! F. T    file_path = Dialog_box()
  58. \" [8 ~' d( i' R6 P1 M    if exists(file_path):
  59. 1 m- C9 t; ^7 @9 ?        data = Read_file(file_path)+ X' J/ I7 K, X) _4 V. A
  60.         print(Baidu_ocr(data))
  61. 7 e, _' f5 ?' J( C4 d: W& ~. R5 M; V6 i0 T# {

( E* \2 J) K7 f! n. i* r" o3 L/ f* A( z: W7 A4 ]7 l' U
! z3 @8 [. C8 Z4 |& Q8 M" n- D8 h* t
转发自派生社区
Python交流群:1047602540
! z( G' t- l3 S3 P. b" ]; N
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-8-19 16:38 , Processed in 0.290658 second(s), 49 queries .

回顶部