QQ登录

只需要一步,快速开始

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

Python-百度ocr识别

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

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

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

* C. @& |; |" k
  1. #!/usr/bin/python$ I4 o! B/ y& L' W) O) C/ C
  2. # -*- coding: utf-8 -*-
  3. ; c  n0 Q9 Q9 B2 m5 o\" S2 ]4 C  h8 F9 `8 U
  4. import base64$ K9 e0 C  _: K% |) l4 x
  5. from os.path import exists
  6. \" A7 s' f& \2 P* m+ mfrom tkinter import Tk
  7. * Z4 Z4 n; t& B. E8 G$ a\" Tfrom tkinter.filedialog import askopenfilename( k) y; |- R\" a5 S
  8. from urllib.parse import urlencode
  9. 6 [+ O3 M$ X3 T% v2 G4 M% S6 |% k( l7 O+ e, x% f2 [
  10. import requests
  11. * v( M2 j+ l8 B2 C0 {9 O
  12. 2 A  w8 d& g& }( ^& N
  13. , _  ?$ Y, r2 k; U1 _0 h: adef Dialog_box():
  14. 1 j2 A2 b& i7 {    root = Tk()8 t5 u! _0 [5 \& D
  15.     root.withdraw()- L0 ?! h( B8 F+ f3 y( `0 F* H\" b

  16. & D; r8 ^\" v\" z; l    filetypes = [(
  17. % x2 f; F* ~( M! u3 r, h        '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),% B- m' j9 W' ?% q7 J  u, I; i
  18.         ('所有文件(*.*)', '*.*')]
  19. - g8 o; ]6 V$ ?1 Q\" s- a5 e0 \- {1 u6 M
  20.     file_path = askopenfilename(filetypes=filetypes)5 N4 f. a( x3 @) i% n/ v& ~; n
  21.     return file_path
  22. / ?1 J\" o/ @! K2 P- K# G+ I3 C0 o! E6 S

  23. * ~- Z$ i2 D3 Q1 d2 P/ Edef Read_file(file_path):3 Z5 ~/ u9 m; R5 r
  24.     with open(file_path, mode='rb') as file_object:( j; D# ^$ ~; }, z& }0 D
  25.         contents = file_object.read()' N: G- a. R; G8 N$ h# L/ `! b
  26.         return contents.rstrip()
  27. ) @$ _) o9 y\" H3 g4 E# K
  28. * d7 [1 B$ l9 P! G& r\" f; O0 l  y5 V
  29. def Baidu_ocr(binary):0 n. ^4 W3 S, @) |\" z
  30.     url = "https://aip.baidubce.com/oauth/2.0/token?"$ n) E& W7 _1 x% @1 ]* k
  31.     data = {' T$ o4 [1 p  q6 n1 X0 H! o# \
  32.         "grant_type": "client_credentials",
  33.   W- h+ f1 ?\" H: z. v& F+ d/ s        "client_id": "",  # 必填4 Q9 s3 R- p& X
  34.         "client_secret": ""  # 必填
  35. \" X- U% f. e) i+ _1 w2 I! X    }. t3 j: D5 g+ t7 @
  36.     url += urlencode(data)
  37. % {6 G\" R  s. ?\" I    response = requests.get(url=url).json()
  38. ) H% a# z% T- U    access_token = response['access_token']5 i, x- s& @\" u) V
  39. * Z, K; Z/ h! u
  40.     url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token/ n4 x- b+ f, a5 a: q
  41.     post_data = {- _' b6 b, {) ^/ y, w( v
  42.         "image": base64.b64encode(binary),
  43. % i8 v7 ^  [' `  Q9 T) k        "url": "",
  44. - p+ Q# r! ]4 Q  w; Z! ~0 p        "language_type": "CHN_ENG",7 o- p. H! A% k) t
  45.         "detect_direction": "false",
  46. ' y! g, x; G1 b3 k        "detect_language": "false",9 w3 S  V, Z4 N$ i2 r5 @
  47.         "probability": "false"+ r& g; M! k( R/ A
  48.     }
  49. 2 _% h1 q; H' ?    response = requests.post(url=url, data=post_data).json()- M: ]2 ^4 K7 F* s3 b
  50.     num = response['words_result_num']
  51. + T2 l  B: c3 `5 m4 k1 Y' w    result = ''
  52. ' l% S# A( u) Q; x% z1 J$ H    for i in range(num):
  53. & g% H$ G# X+ {4 p+ s& L) [        result += response['words_result'][ i]['words'] + "\r\n") B* e; ~& J  X
  54.     return result
  55. 0 U3 [  p( q/ o2 Y
  56. , V! \) r$ k$ G6 B5 D7 x7 e+ Y
  57. 0 _' _) M- t  Yif __name__ == "__main__":. {3 o* g$ O0 m, Q& l& z* n2 i' H/ k
  58.     file_path = Dialog_box()5 I: R$ C0 b, W! b1 Q5 H# Z
  59.     if exists(file_path):
  60. 3 B' ~. Y' O; W+ p8 U+ H1 |- f        data = Read_file(file_path)
  61. & j5 ~( Q; W( j  ?! j% B4 y        print(Baidu_ocr(data))
  62. 1 \: i8 i: M# q
  63. 8 s+ p( Q0 q* g/ A& g
) D' O" K8 G/ D" b6 j0 X
* z; {9 W" p& H4 b0 h
  s$ H  b: r7 ~# A( u' a' H
转发自派生社区
Python交流群:1047602540

+ x% f; V2 q' J; R/ O5 w% A, |. z
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-4-19 16:55 , Processed in 0.425329 second(s), 50 queries .

回顶部