python 3调用百度OCR API实现剪贴板文字识别


Posted in Python onSeptember 04, 2018

本程序调用百度OCR API对剪贴板的图片文字识别,配合CaptureScreen软件,可快速识别文字。

#!python3
import urllib.request, urllib.parse
import os, io, sys, json, socket
import base64
from PIL import ImageGrab
 
socket.setdefaulttimeout(30)
 
def get_auth():
  apikey = 'your apikey'
  secret_key = 'your secret key'
  host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=%s&client_secret=%s' % (apikey, secret_key)
  req = urllib.request.Request(host)
  req.add_header('Content-Type', 'application/json; charset=UTF-8')
  res = urllib.request.urlopen(req)
  content = res.read()
  if (content):
    o = json.loads(content.decode())
    return o['access_token']
  return None
 
def ocr_clipboard():
  im = ImageGrab.grabclipboard()
  if im is None:
    print('No image in clipboard')
    return
  print('image size: %sx%s\n>>>\n' % (im.size[0], im.size[1]))
  mf = io.BytesIO()
  im.save(mf, 'JPEG')
  mf.seek(0)
  buf = mf.read()
  b64 = base64.encodebytes(buf)
  access_token = get_auth()
  if access_token is not None:
    url = 'https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=%s' % access_token
    data = urllib.parse.urlencode({'image' : b64}).encode()
    req = urllib.request.Request(url, method='POST')
    req.add_header('Content-Type', 'application/x-www-form-urlencoded')
    with urllib.request.urlopen(req, data) as p:
      res = p.read().decode('utf-8')
      o = json.loads(res)
      if o['words_result'] is not None:
        for w in o['words_result']:
          print(w['words'])
      print('\n<<<')
  else:
    print('access_token is none')
 
if __name__ == '__main__':
 
  x = input('ocr form clipboard image: z to ocr, q to quit-->')
  while(x != 'q'):
    if x=='z':
      ocr_clipboard()
    x = input('ocr from clipboard image: r to ocr, q to quit-->')
  print('bye')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 检查数组元素是否存在类似PHP isset()方法
Oct 14 Python
django静态文件加载的方法
May 20 Python
Python实现基于C/S架构的聊天室功能详解
Jul 07 Python
python实现从文件中读取数据并绘制成 x y 轴图形的方法
Oct 14 Python
python正向最大匹配分词和逆向最大匹配分词的实例
Nov 14 Python
python 格式化输出百分号的方法
Jan 20 Python
python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算
Jul 18 Python
解决pandas展示数据输出时列名不能对齐的问题
Nov 18 Python
使用opencv中匹配点对的坐标提取方式
Jun 04 Python
Python获取excel内容及相关操作代码实例
Aug 10 Python
基于python实现复制文件并重命名
Sep 16 Python
解决python3输入的坑——input()
Dec 05 Python
Python实现监控键盘鼠标操作示例【基于pyHook与pythoncom模块】
Sep 04 #Python
Python使用pyautogui模块实现自动化鼠标和键盘操作示例
Sep 04 #Python
Python PyAutoGUI模块控制鼠标和键盘实现自动化任务详解
Sep 04 #Python
selenium+python实现自动化登录的方法
Sep 04 #Python
python使用scrapy发送post请求的坑
Sep 04 #Python
解决win64 Python下安装PIL出错问题(图解)
Sep 03 #Python
Python全局变量与局部变量区别及用法分析
Sep 03 #Python
You might like
PHPMYADMIN导入数据最大为2M的解决方法
2012/04/23 PHP
PHP 年龄计算函数(精确到天)
2012/06/07 PHP
PHP数据过滤的方法
2013/10/30 PHP
php画图实例
2014/11/05 PHP
PHP获取QQ达人QQ信息的方法
2015/03/05 PHP
PHP函数引用返回的实例详解
2016/09/11 PHP
php删除二维数组中的重复值方法
2018/03/12 PHP
PHP常用函数之获取汉字首字母功能示例
2019/10/21 PHP
20行代码实现的一个CSS覆盖率测试脚本
2013/07/07 Javascript
jquery实现文字由下到上循环滚动的实例代码
2013/08/09 Javascript
jquery队列queue与原生模仿其实现方法分享
2014/03/25 Javascript
node.js中的fs.truncateSync方法使用说明
2014/12/15 Javascript
jquery简单图片切换显示效果实现方法
2015/01/14 Javascript
jQuery实现Meizu魅族官方网站的导航菜单效果
2015/09/14 Javascript
jQuery遍历DOM的父级元素、子级元素和同级元素的方法总结
2016/07/07 Javascript
基于angular中的重要指令详解($eval,$parse和$compile)
2016/10/21 Javascript
bootstrap fileinput完整实例分享
2016/11/08 Javascript
浅谈关于axios和session的一些事
2017/07/13 Javascript
详谈vue+webpack解决css引用图片打包后找不到资源文件的问题
2018/03/06 Javascript
开发一个Parcel-vue脚手架工具(详细步骤)
2018/09/22 Javascript
node版本管理工具n包使用教程详解
2018/11/09 Javascript
轻松解决JavaScript定时器越走越快的问题
2019/05/13 Javascript
ES2020 已定稿,真实场景案例分析
2020/05/25 Javascript
Vue3.0的优化总结
2020/10/16 Javascript
Python语言描述连续子数组的最大和
2018/01/04 Python
Python3删除排序数组中重复项的方法分析
2019/01/31 Python
python判断两个序列的成员是否一样的实例代码
2020/03/01 Python
解决Python在导入文件时的FileNotFoundError问题
2020/04/10 Python
介绍一下代理模式(Proxy)
2014/10/17 面试题
优秀员工自荐信范文
2013/10/05 职场文书
幼儿园毕业家长感言
2014/02/10 职场文书
授权委托书样本
2014/04/03 职场文书
办公室文员岗位职责
2015/02/04 职场文书
2015年办公室个人工作总结
2015/04/20 职场文书
大学生逃课检讨书
2015/05/04 职场文书
答辩状格式范本
2015/05/22 职场文书