QQ登录

只需要一步,快速开始

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

Python-百度ocr识别

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

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

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

8 S; B. K7 }* K9 N
  1. #!/usr/bin/python
  2. 3 B1 }1 ^6 \; ?# -*- coding: utf-8 -*-: Q( f  _) v/ f6 ?/ c

  3. 3 m, i5 F( r) J  Nimport base64
  4. - s( o% _! }: E+ n/ u1 hfrom os.path import exists
  5. , r& y& D( r\" c& u1 f1 f$ p+ Sfrom tkinter import Tk, A# }, v% \$ v! y$ \- J% q  Z- F
  6. from tkinter.filedialog import askopenfilename
  7. - N$ J/ }9 W: X# _8 b! Z7 D; sfrom urllib.parse import urlencode
  8. \" ?! ~7 ~7 G, b' Q* j5 b- i  B: \+ o% p# {1 e
  9. import requests
  10.   N8 ~\" n0 m& Z& I! ?! m3 G
  11.   W3 t  ?' t6 S# y
  12. . u; Z3 }) l) K- e9 @def Dialog_box():
  13. 7 s: n8 ~+ G9 X. O    root = Tk()' t) `2 u$ V& \1 b& }9 s
  14.     root.withdraw()6 [* r5 V; j* s8 i% f5 S/ r

  15. \" `1 g2 M0 o/ C3 X7 G, y( W5 e    filetypes = [(+ K0 a# |; q7 N( ?# o/ I
  16.         '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),, ^- i( o% r/ S/ Q6 g
  17.         ('所有文件(*.*)', '*.*')]
  18. ' W/ L) E8 D3 U
  19. 9 @( h& e' \4 k$ y% o4 B    file_path = askopenfilename(filetypes=filetypes)
  20. 2 m. A; x: N) P    return file_path  n$ {2 h( s5 Y; Z7 j5 J0 r

  21. , R' f8 ~8 R9 T' r7 \1 O
  22. - b9 W7 D! Q% Z\" n  Hdef Read_file(file_path):5 Q% ^9 s6 }: E1 \  U
  23.     with open(file_path, mode='rb') as file_object:# T0 a( k9 T& y) `
  24.         contents = file_object.read(). L# j\" Y% x* a0 E  z( v
  25.         return contents.rstrip()
  26. , V, {+ a# }& _) I+ h4 ^
  27. $ B7 v! k8 U* W& J# w
  28. 3 E: s1 Y  B3 Hdef Baidu_ocr(binary):& @9 e, W. i/ ~7 d$ O\" w& c
  29.     url = "https://aip.baidubce.com/oauth/2.0/token?"( m\" R4 G1 P- z: U, S! b/ T$ P1 O% y+ y
  30.     data = {
  31. + |! Q# ^+ O7 h* i; L        "grant_type": "client_credentials",  N7 a. j& I- q3 v- I
  32.         "client_id": "",  # 必填
  33. 5 g+ A2 e+ x2 ?2 T        "client_secret": ""  # 必填
  34. . |, j. z0 s: _    }* L0 X' T+ I: C( A
  35.     url += urlencode(data)
  36. % p\" G: N$ v; ~! s1 }$ m8 u    response = requests.get(url=url).json()4 r% Q4 e3 g3 L5 N* i( s& d  N
  37.     access_token = response['access_token']4 s\" {+ @! N' G& m3 y: V
  38. \" D\" N& Y! Z; v% g  i. b
  39.     url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token# C: }) y( y+ \( M  k& U! K
  40.     post_data = {  X' T: y\" ?' J* r; H1 y
  41.         "image": base64.b64encode(binary),: R, Z, C* A) X- T& V
  42.         "url": "",
  43. 5 `\" r* s  \4 F2 P+ n5 M        "language_type": "CHN_ENG",) a: n- S: J! M, j! y' R
  44.         "detect_direction": "false",
  45. ; ~' H# y2 M' H2 R& r        "detect_language": "false",2 d4 Z6 s! `1 b( I
  46.         "probability": "false"3 ~3 l1 f* [! O5 n% d! M! y
  47.     }
  48. 3 r2 h, h* r9 `5 N\" L' R3 M' E) m: O    response = requests.post(url=url, data=post_data).json()) C9 g& Y. l! @
  49.     num = response['words_result_num']
  50. 4 y$ |* d3 @- K3 b' W1 m4 d9 n    result = ''
  51. 1 g8 B1 Y7 g+ P6 ]    for i in range(num):
  52.   |2 A: H5 l  S8 \4 T        result += response['words_result'][ i]['words'] + "\r\n"0 ?+ d- z/ q$ ]- n* H0 {+ \4 o
  53.     return result: W/ f. @6 b+ b  G- i3 e4 \* j\" M2 p
  54. 1 k) y# J1 P9 Z& r6 u! l
  55. ! c: I1 X! F6 i' ]! [
  56. if __name__ == "__main__":; L. I7 }3 @) X8 @3 o4 u( D
  57.     file_path = Dialog_box()* H& `- [5 X9 U1 z! H0 A2 q
  58.     if exists(file_path):: y* Z* w/ N% f& x9 L4 u
  59.         data = Read_file(file_path)9 W3 |: e& I% i& F  }6 ?; w
  60.         print(Baidu_ocr(data))' @  r& f' Y\" ~2 \$ S& }& N
  61.   o: R. A& ]+ z0 }- P\" Z+ `  k
7 f3 i3 K& P, A3 f/ z

" S$ B& d: l1 t& T: c/ O3 f* f) i% Z& Y$ c2 \$ O, `
转发自派生社区
Python交流群:1047602540
9 ^2 {0 |9 G0 h6 t  a
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-9-2 04:33 , Processed in 0.438297 second(s), 50 queries .

回顶部