QQ登录

只需要一步,快速开始

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

Python-百度ocr识别

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

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

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

2 _2 V4 b9 c, o# W
  1. #!/usr/bin/python
  2. : J! x. `! h/ Z$ z8 w- n# -*- coding: utf-8 -*-1 @4 ~+ E4 ^. g8 x
  3. ; D& c0 i& H- c9 o3 @3 I6 p2 e\" y
  4. import base64
  5. 8 j4 R/ ?+ k# P& w+ qfrom os.path import exists5 |7 w7 t/ F) O\" y\" Z
  6. from tkinter import Tk
  7. * h; ]/ c0 w- ]+ O- D5 V. x- B: cfrom tkinter.filedialog import askopenfilename
  8. + Z# M! T% n8 p4 K) R: C: [/ Ifrom urllib.parse import urlencode( g! g) B# K1 u& c: H9 v

  9. 3 T3 G' y$ j! Q% gimport requests
  10. + `( @5 b9 u& U6 S; S& R, j
  11. 7 k% Q, D0 \0 G\" C# p2 `8 b3 Z& z* |( m. T! H
  12. def Dialog_box():1 c8 M8 o$ i5 Z. t% z$ {
  13.     root = Tk()# z' j1 E9 U0 K( E2 O# C6 p  h
  14.     root.withdraw()5 f, f! C% O* F: j3 s; J
  15. 0 E1 q\" n2 K# \3 u
  16.     filetypes = [(3 o7 A1 N/ X; g& R, |/ m& W2 f
  17.         '图片文件(*.jpg;*.jpeg;*.gif;*.png;*.bmp)', '*.jpg;*.jpeg;*.gif;*.png;*.bmp'),
  18. & n$ ^) c, Z0 A4 N9 E7 V        ('所有文件(*.*)', '*.*')]\" Q$ v! `7 W9 {
  19. ( {. j' r# K$ m\" a
  20.     file_path = askopenfilename(filetypes=filetypes)
  21. , z: E- y) F' s$ }0 x. u! O    return file_path
  22. 1 n\" U/ @! W0 D1 V
  23. : u1 H( f1 t# |& R8 I, Z; M3 ]9 w5 `) r
  24. def Read_file(file_path):
  25.   T5 P2 I0 W- b) f$ f) [    with open(file_path, mode='rb') as file_object:
  26. 7 c( i) o5 v2 e        contents = file_object.read()
  27. # s\" p  f0 n0 g. I3 i% G        return contents.rstrip()
  28. 0 r5 j, W, f6 t8 _6 c, W8 C, e$ U\" t0 s( T$ H3 s

  29. 1 _2 t- y$ r$ P& C7 Xdef Baidu_ocr(binary):
  30. 9 ]- G% w6 s; H( M    url = "https://aip.baidubce.com/oauth/2.0/token?"5 Q6 s. f  ?) j: {, B9 P
  31.     data = {
  32. 4 i  {3 R0 U. c9 k        "grant_type": "client_credentials",
  33. ( K& a: E( @  }) G8 C: d- ^        "client_id": "",  # 必填
  34. 7 H9 i6 N! n) ^5 v7 c5 A5 Q6 |1 F1 a9 T        "client_secret": ""  # 必填
  35. 0 l8 U- c- M' S8 [1 ?8 K, ^/ M( w    }
  36. 1 Q- C! E# Y: C2 I! r9 x    url += urlencode(data)) @* r8 f) Z7 v0 ^
  37.     response = requests.get(url=url).json()
  38. \" X1 s% M: Z7 i, Z' P3 ?6 J    access_token = response['access_token']
  39. ( Z$ _( d# Q# |3 N& \; {
  40. ; I9 d# w8 a\" |& |    url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token% Z# N3 T4 g* B% R
  41.     post_data = {1 p\" e8 c# Q5 p2 L0 ~9 |
  42.         "image": base64.b64encode(binary),% g, Z$ B\" m' I% H! R
  43.         "url": "",
  44. ' P' B8 N) I\" ]        "language_type": "CHN_ENG",$ O\" C6 Q$ s; |5 i( L8 ^
  45.         "detect_direction": "false",9 S* \+ y% c7 L
  46.         "detect_language": "false",
  47. 1 U7 s& z, A3 _# S& A4 h2 S4 d        "probability": "false"3 E8 Z3 }* f+ y
  48.     }4 P, T; O7 X9 [# k- \$ @- {
  49.     response = requests.post(url=url, data=post_data).json()
  50. # A: }# C2 A. z# L. E    num = response['words_result_num']
  51. 2 _6 y* l& c) s: P, a    result = ''7 u7 N\" F  l& q7 C$ i
  52.     for i in range(num):+ n% j# M5 }/ A7 T) [
  53.         result += response['words_result'][ i]['words'] + "\r\n"
  54. 4 w$ i+ y0 \: g    return result9 V1 Q7 H  a  s: I2 g7 d% M

  55. 0 c; U5 I: R; a/ I/ x0 D* w- a( z  i\" Q
  56. if __name__ == "__main__":
  57. ( l' ]' r5 c! Q0 i4 Q# X) o    file_path = Dialog_box()( [5 y; T2 u  R) m, U+ F& Z
  58.     if exists(file_path):
  59. 9 i\" {7 Z( }/ @        data = Read_file(file_path)\" r9 v1 p! Y8 h4 I- W
  60.         print(Baidu_ocr(data))
  61. & ^; _: p0 |$ \% E, d: k- D9 }. Q. F0 [6 H% E7 f0 w
, z: ?" D8 M4 O% C2 L+ N/ h

6 k$ g: E' v: o: D0 u1 o/ q' R, a0 G
转发自派生社区
Python交流群:1047602540
& b# p! F- b8 W
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-6-3 02:14 , Processed in 0.611830 second(s), 50 queries .

回顶部