QQ登录

只需要一步,快速开始

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

Python-百度ocr识别

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

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

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

% F& S2 s( X/ y! n# S7 F' C
  1. #!/usr/bin/python
  2. 7 [$ e2 }/ i% o4 c% f# y# -*- coding: utf-8 -*-) u. @( j+ N3 ]0 ^* O
  3. # Z+ F\" k5 l) s0 \% ~
  4. import base644 z+ P! ?1 H$ C
  5. from os.path import exists
  6. ) Z% N1 R; z* i6 R+ F$ O; Qfrom tkinter import Tk' ~0 H& p1 V* O* I/ W; g- k/ Z
  7. from tkinter.filedialog import askopenfilename! t% n' }( ]4 |# a' G( y
  8. from urllib.parse import urlencode. O. I9 }2 t\" r0 f! w
  9. ' l8 J- a$ u# I
  10. import requests
  11. 2 G# k0 ^2 H: N, R6 n2 L: y. b0 z7 q+ Q
  12. # ]. Y# O: @4 F1 Y  w! h3 S8 \! s
  13. def Dialog_box():
  14. 7 t2 F; k; a, a4 q# j+ _% o    root = Tk()7 W+ T+ B1 @% p6 _
  15.     root.withdraw()% F9 f; C9 g8 F, C3 A  M5 P
  16. ' i* \6 w; ]4 W' e. ?3 l
  17.     filetypes = [(7 @9 |, N' t) Y0 @% C
  18.         '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),& l( a8 u$ Y4 K+ C  _
  19.         ('所有文件(*.*)', '*.*')]& |3 v0 ~7 ]) B) d( v% h( [0 O
  20. 5 H; O: a* V4 e* Y( i
  21.     file_path = askopenfilename(filetypes=filetypes)/ J$ [& s# `& j5 ~
  22.     return file_path
  23.   v& e; u* x/ @; ]. A* U  `' \$ R1 n/ N$ K5 _/ Y7 a

  24. 0 N, Q! l$ \: ~\" pdef Read_file(file_path):; L$ l# H' }& i( O% N
  25.     with open(file_path, mode='rb') as file_object:! Z# E) w! |2 E, G) D
  26.         contents = file_object.read()/ p' \- @8 w! z+ e. S+ G
  27.         return contents.rstrip()! Y, x* v+ U) R4 r4 m: L
  28. ; Y/ z% I) {+ m# ]
  29. 3 `, l) O: B+ F/ V
  30. def Baidu_ocr(binary):  {4 t  Z. f, U% y
  31.     url = "https://aip.baidubce.com/oauth/2.0/token?"# n% L* V+ j4 h: W9 l\" B% R1 K' {\" [
  32.     data = {
  33. * U( ~4 e, n( y4 w        "grant_type": "client_credentials",
  34. ) ?% c! U& j. _7 R\" ]1 ]        "client_id": "",  # 必填
  35. ( k4 A% e9 K0 a# d        "client_secret": ""  # 必填4 L0 R6 W  q6 Z; v+ F; w# a6 c
  36.     }! [# L, j* X) ~& ~' t
  37.     url += urlencode(data)8 d, E4 U3 Q. X6 t5 A& }
  38.     response = requests.get(url=url).json()# z1 J( y' u! d/ l. o+ U5 Y
  39.     access_token = response['access_token'], w8 Q! g: |3 Y) k

  40. 5 F: Z& V1 w' o5 B! }% ?7 ]    url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token8 p7 s* z- ~  b; Q# @
  41.     post_data = {
  42. . l& u& G( s2 U3 Q        "image": base64.b64encode(binary),/ P7 ~6 P\" g3 a: c  C
  43.         "url": "",. p* k) v9 j% U* o. ~
  44.         "language_type": "CHN_ENG",
  45. 2 o, o2 B4 C! k# S* g4 D: ]\" S9 o7 f        "detect_direction": "false",
  46. 0 X4 K! {5 l! ]$ R  [2 o9 s& o        "detect_language": "false",/ {5 g' `6 N1 J, k* A( S
  47.         "probability": "false"
  48. 4 l( \7 }9 D5 b\" q    }6 v; f& m* Y* ~0 M7 Q9 K/ g
  49.     response = requests.post(url=url, data=post_data).json()
  50. ! K- v# F$ M/ t! B9 `$ X5 q0 I7 y    num = response['words_result_num']9 m. E6 c2 N; m) c  U. G3 n( R* d
  51.     result = '') \; W. |5 _! [1 O/ E8 ~
  52.     for i in range(num):: O' i) i3 R% C' A2 P4 L
  53.         result += response['words_result'][ i]['words'] + "\r\n"
  54. 1 K4 J4 I4 o' k3 l1 `3 s    return result
  55. ( p  N; ?) Q2 P. N3 _* X7 G, v2 r+ @- K! \5 y. B2 Q! F

  56. 7 \/ O: Z+ F: dif __name__ == "__main__":
  57. : P! c' R% K; [2 U6 E$ v    file_path = Dialog_box(). `/ x, @1 i0 D
  58.     if exists(file_path):! E; Y2 [! }5 F+ Q9 B3 K0 }
  59.         data = Read_file(file_path)
  60. & m  J\" x1 f' n4 C        print(Baidu_ocr(data))
  61. ) }9 D3 U( J0 j\" K/ V0 a2 j
  62. 9 I. @+ Z, g+ ]+ X
7 a/ A! U! b7 x8 l4 W
2 E0 X! x3 u0 K' Q8 b& u

' |) o3 e9 E) j5 ^% q
转发自派生社区
Python交流群:1047602540
1 D. H' E0 [: o# E% d  D
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:32 , Processed in 0.447624 second(s), 50 queries .

回顶部