QQ登录

只需要一步,快速开始

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

Python-百度ocr识别

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

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

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

! s, a& }. K9 r% A* d0 r' C
  1. #!/usr/bin/python
  2. / {% i/ J- s- U) D\" c/ ~# -*- coding: utf-8 -*-
  3. 4 w; s9 I! {; a- H/ o( ?1 ~9 t! x% k
  4. import base64' v: n7 w0 d6 T$ _7 Z: Z
  5. from os.path import exists
  6. 0 j3 A/ V# w9 f- [5 I5 Wfrom tkinter import Tk
  7. / M3 L/ z+ v! c2 [from tkinter.filedialog import askopenfilename' g. Q  b' u9 h, s; X  B5 q  h9 C, _
  8. from urllib.parse import urlencode
  9. . Q6 F3 ]/ l5 m7 l
  10. # n9 v8 H! W8 ~0 V% \import requests
  11. * U5 O8 ^\" @' c: ~
  12. ( }/ K% N' j4 X5 D8 Y$ e
  13. ) P( Z# Q5 F3 F! [+ ldef Dialog_box():- n' U+ n' a+ J$ B: K
  14.     root = Tk()$ I1 J* A9 T0 V9 O2 X# m; ^
  15.     root.withdraw()
  16. , o6 ?4 R1 ?- P% x5 ~: q/ O4 s# _* D- ^4 o
  17.     filetypes = [(
  18. % [2 m. \) s' d' d5 e# g3 G        '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),1 i4 I, x! T8 y8 [8 U\" l! V+ B, @
  19.         ('所有文件(*.*)', '*.*')]# n1 f: A' x! Q6 c* P% ]
  20. / S8 O' g: b' E/ ^
  21.     file_path = askopenfilename(filetypes=filetypes)/ T1 _3 u0 P& U' v\" f$ x
  22.     return file_path
  23. ! x. e: {4 o0 e0 K: ~5 o; M6 V0 x/ E$ n6 A8 v* m) [5 s; Y
  24. % V6 {/ t- E- ~
  25. def Read_file(file_path):4 O. C! T7 F2 A) ^0 ]& C
  26.     with open(file_path, mode='rb') as file_object:# d' ]# w8 d) u0 I, K\" P
  27.         contents = file_object.read()4 T8 W5 x& [. m% A5 p
  28.         return contents.rstrip()% _: p9 o* @9 K* g( ?2 q! ?

  29. : v2 R7 ?/ N/ J# h
  30. - r1 d2 L7 j. L  T3 y) Adef Baidu_ocr(binary):
  31.   v+ H. C: g0 u( B( [    url = "https://aip.baidubce.com/oauth/2.0/token?"
  32. $ |* ]9 z2 I) g# o: p    data = {9 j0 c3 j+ I9 {- E6 s- o
  33.         "grant_type": "client_credentials",
  34. 1 a! R1 g. c# ^        "client_id": "",  # 必填
  35. 1 C( K* V: x3 @9 J        "client_secret": ""  # 必填( F9 f) I\" y\" e( u5 j
  36.     }( d5 c2 R+ V  |* C
  37.     url += urlencode(data)5 U- P& o5 v\" U' d5 A  v\" |
  38.     response = requests.get(url=url).json(). I8 H& F% b  V; ~; c
  39.     access_token = response['access_token']5 ?\" ~( k1 B\" A8 y0 d: a) n
  40. % V1 j7 j  D: N$ o9 p1 `  x
  41.     url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token2 m: P! Q! n* q5 w5 Y+ A. X% A
  42.     post_data = {
  43. 3 G* ~& c- t$ a4 F  I        "image": base64.b64encode(binary),; o! I, h/ i: s2 D# x
  44.         "url": "",1 |0 Y: p' Q$ n3 c2 V  E! l, F
  45.         "language_type": "CHN_ENG",3 W+ X3 T/ I0 Q9 f2 p# `
  46.         "detect_direction": "false",
  47. 9 t% I6 N8 I8 ]: z: B0 C3 Y8 e        "detect_language": "false",6 h7 e: Z4 v' U
  48.         "probability": "false"7 i# g% p9 y6 W  M0 i
  49.     }4 K0 |/ W% J' c* h
  50.     response = requests.post(url=url, data=post_data).json()+ ]  g( a1 v6 w( x* y7 V, P
  51.     num = response['words_result_num']
  52. + Q  F3 n, a' o\" z5 q1 L4 s1 b& Z2 ~* @    result = ''
  53. ; f\" d( u9 w6 S$ u    for i in range(num):
  54. ) g1 Z\" O1 S1 ^! R0 r* P        result += response['words_result'][ i]['words'] + "\r\n"/ a4 F6 ^\" S- m) B\" e
  55.     return result
  56. - b: Y/ y# l; n8 \/ v' H3 Z8 e9 p( p9 F7 }5 X) ^6 s# y- y
  57. ) k4 L# q) Q\" \. p! }+ ^
  58. if __name__ == "__main__":
  59. 7 d- B/ Z1 }) t/ ]+ e# Q    file_path = Dialog_box()
  60. ( E\" n! D6 c: {; h6 P3 l    if exists(file_path):- ]. X6 r; p0 F! R( Q, d1 K2 |
  61.         data = Read_file(file_path)
  62. ) {# ]( E+ [- J7 }: _        print(Baidu_ocr(data))$ g+ F  X0 S% g+ L& f% C
  63. : N: Q' x/ ]) K/ ^8 _7 j5 i

2 x: {/ z% `1 }" A; X1 C
  L) g% |( B! [  \# A# m
! a6 G4 _1 _4 o( l% c2 j
转发自派生社区
Python交流群:1047602540
# i0 d. }; M* ?6 ?! S( [/ V, 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 05:03 , Processed in 0.413628 second(s), 50 queries .

回顶部