QQ登录

只需要一步,快速开始

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

Python-百度ocr识别

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

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

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

0 `1 o8 ~. D* G+ u
  1. #!/usr/bin/python
  2. 3 }. F( I% h! g/ q; {\" l3 ~# -*- coding: utf-8 -*-
  3. * h8 {5 w2 T5 U* F7 g: Y9 x
  4. ( V+ {7 V3 |3 r4 H& vimport base642 M& y0 \9 K4 }* x& V' z
  5. from os.path import exists8 m) S0 n/ D- Z. E; P\" o
  6. from tkinter import Tk  l: ~$ j' l& l- B9 `$ W7 A1 x+ |( C
  7. from tkinter.filedialog import askopenfilename
  8. : l! s( b1 j& [; E! qfrom urllib.parse import urlencode
  9. % I1 n; x  ^( T$ k% C6 ^
  10. / ?* D/ \4 l5 B\" }import requests
  11. . M8 M8 |7 f' Y% _& N! g0 V2 s* f8 n\" v* b+ p# P2 x

  12. - T  \; j$ r( I- \3 N\" H+ Mdef Dialog_box():
  13. # ]6 b# K- k1 H4 o, ^    root = Tk()9 b9 W, c3 F( V  N; Z; k) d; P( \; w\" g
  14.     root.withdraw()
  15.   }1 |  [1 r6 d) E8 w7 i; Z7 V8 M# |
  16.     filetypes = [(
  17. 8 d2 P\" F; k\" i\" ]1 \        '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),: p  z# I2 S% Z$ e
  18.         ('所有文件(*.*)', '*.*')]
  19. 8 `  g9 R0 l3 W; Y, V9 ]- p: k
  20.     file_path = askopenfilename(filetypes=filetypes)
  21. ' X, `\" g  ^2 W' F$ I8 t! Y0 S    return file_path
  22. ; d7 q' @: L9 x\" s$ b/ [. J3 E, N! h/ ?4 G5 ^$ E
  23. * x4 W8 F3 G: G+ _
  24. def Read_file(file_path):/ s. t/ |& q- X4 t+ N. R# ]2 n( g
  25.     with open(file_path, mode='rb') as file_object:4 u! G+ U3 }' {3 ]5 P! ~, {# d5 E( ^
  26.         contents = file_object.read()
  27.   J; `& \) p; O, w        return contents.rstrip()
  28. 6 l) P1 r\" M3 w. G. G9 ~. C& m) g2 _7 {* ~+ o! E6 @) _# b
  29. + Z; c$ B2 U5 h' w- X% R
  30. def Baidu_ocr(binary):1 `& j  C  j: N- ]) {
  31.     url = "https://aip.baidubce.com/oauth/2.0/token?"3 H: F/ X# b0 X/ Q+ [8 ^
  32.     data = {
  33. 2 @6 P2 M) H/ E& O+ v        "grant_type": "client_credentials",
  34. , {8 S9 ]( I2 `% u        "client_id": "",  # 必填5 p  s' h, ?/ K) A1 I5 J; o
  35.         "client_secret": ""  # 必填\" e# C6 p: u* z9 J
  36.     }
  37. . h4 u! I. b& X1 C. f1 m, {    url += urlencode(data). ^7 J1 M) n5 e6 B/ C  ^
  38.     response = requests.get(url=url).json()
  39. 3 d) i2 ~, e9 c( ]+ x/ s3 N& d! ~    access_token = response['access_token']
  40. / w! N% k! R4 |5 ?) R
  41. ) [! h' G6 [  z8 V9 {    url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token# g$ Z5 q9 Z! ]9 h7 x2 y
  42.     post_data = {
  43. 7 ~* h: e2 L: ?3 ^8 w! w( `: Q        "image": base64.b64encode(binary),; B3 S$ g/ }8 b, L2 i. I
  44.         "url": "",. k; l4 q9 T2 j4 X& r
  45.         "language_type": "CHN_ENG",
  46. - N6 ]% F\" |0 s7 S1 n2 M        "detect_direction": "false",$ w6 [- w9 e, q% d7 ^0 V
  47.         "detect_language": "false",\" M! G1 _) \7 v0 \. j9 Q
  48.         "probability": "false"
  49. 6 I# t, Z# g3 ]) V8 B4 E    }+ D2 c1 j+ [, A1 [: ^
  50.     response = requests.post(url=url, data=post_data).json()
  51. ; w\" b5 L+ y& g( D    num = response['words_result_num']$ [4 y$ @; s\" T* U7 U' ~4 p* K
  52.     result = ''
  53. ( A8 H+ ?* S/ p1 j5 r7 d; w    for i in range(num):# S) _( @4 b0 Y* W
  54.         result += response['words_result'][ i]['words'] + "\r\n"
  55. 7 [( ~. H* U\" i: @% L+ k4 y    return result. V& `( g\" l- Y3 D& @

  56. 9 Y* E\" U: _/ Z( X' D4 \2 p5 ]) x# X' n- Z0 {7 }
  57. if __name__ == "__main__":7 o9 m8 f; m0 N
  58.     file_path = Dialog_box()* R3 l$ N5 z+ q9 i
  59.     if exists(file_path):+ u  v# s+ P3 H6 S9 i5 S
  60.         data = Read_file(file_path)
  61. $ ?' p% h; ~) `2 T% q, ~( H        print(Baidu_ocr(data))
  62. % ^\" e1 M; x\" G- l! e* w' `# r' y& |
  63. 6 G% f& I& g8 e- A$ D+ \

- m) ^- d$ q& k! ^9 S; u9 w1 j
* Z* E1 J  g! l. \6 T1 B$ y
9 N- {# N7 k5 K% Y
转发自派生社区
Python交流群:1047602540

) U( R  g" n5 _7 C+ 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, 2026-7-18 12:41 , Processed in 0.354956 second(s), 49 queries .

回顶部