脚本说明:
脚本需要修改 APPID 以及 API_KEY的值,请到讯飞api平台获取。

首先截图,然后打开脚本直接运行,该脚本自动识别剪切板上内容,脚本运行结束后,直接crtl+v复制。

# -*- coding: utf-8 -*-
import base64
import hashlib
import time
import keyboard as keyboard
import pyperclip
import requests
#获取剪切板内容
from PIL import ImageGrab# OCR手写文字识别接口地址
URL = "http://webapi.xfyun.cn/v1/service/v1/ocr/handwriting"
# 应用APPID(必须为webapi类型应用,并开通手写文字识别服务,参考帖子如何创建一个webapi应用:http://bbs.xfyun.cn/forum.php?mod=viewthread&tid=36481)
APPID = ""
# 接口密钥(webapi类型应用开通手写文字识别后,控制台--我的应用---手写文字识别---相应服务的apikey)
API_KEY = ""def getHeader():curTime = str(int(time.time()))param = "{\"language\":\""+language+"\",\"location\":\""+location+"\"}"paramBase64 = base64.b64encode(param.encode('utf-8'))m2 = hashlib.md5()str1 = API_KEY + curTime + str(paramBase64, 'utf-8')m2.update(str1.encode('utf-8'))checkSum = m2.hexdigest()# 组装http请求头header = {'X-CurTime': curTime,'X-Param': paramBase64,'X-Appid': APPID,'X-CheckSum': checkSum,'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',}return header#图片转换为base编码
def getBody(filepath):with open(filepath, 'rb') as f:imgfile = f.read()data = {'image': str(base64.b64encode(imgfile), 'utf-8')}return data#英文判断
def isEnglish(keyword):#return keyword.isalpha()  #判断纯单词 是否是英文return all(ord(c) < 128 for c in keyword)# 写入到剪切板
def settext(aString):# importing the module# copies all the data the user has copiedpyperclip.copy(aString)# paste the copied data from clipboardpyperclip.paste()#保存剪切板数据图片
def get_pic():# 按ctrl+后才执行下面的语句#keyboard.wait(hotkey='ctrl+alt+a')# ctrl+c保存截图至剪切板, ImageGrab从剪切板读取图片img1 = ImageGrab.grabclipboard()#print(type(img1))# 文件保存的名字img_path = str(int(time.time()))+"javachuan"+".png"img1.save(img_path)return img_path# 语种设置
language = "cn|en"
# 是否返回文本位置信息
location = "true"
r = requests.post(URL, headers=getHeader(), data=getBody(get_pic()))
resp=r.json()
result=""#每一行的数据
content="" #每一行某个数据 某个文字/某个单词
for i in range(0,len(resp["data"]["block"][0]["line"])):for j in range(0,len(resp["data"]["block"][0]["line"][i]["word"])):content=resp["data"]["block"][0]["line"][i]["word"][j]["content"]if isEnglish(content):result+=content+" "  #英文单词 需要  空格else:result+=contentresult+="\n" #换行#添加到剪切板
settext(result)
print(result)

我的ocr python脚本效果演示
中英文可以有效识别,并且尽可能保持原字体格式,英文单词之间有 空格,
原本是同一行,就是同一行。

qq的文字识别效果演示
是恶速度慢,并且识别后不好复制,不能保持原样。

python图片ocr识别手写印刷体中英文字体相关推荐

  1. BP神经网络理解原理——用Python编程实现识别手写数字(翻译英文文献)

    BP神经网络理解原理--用Python编程实现识别手写数字   备注,这里可以用这个方法在csdn中编辑公式: https://www.zybuluo.com/codeep/note/163962 一 ...

  2. Python徒手实现识别手写数字—图像识别算法(K最近邻)

    Python徒手实现识别手写数字-图像识别算法(K最近邻) 写在前面 这一段的内容可以说是最难的一部分之一了,因为是识别图像,所以涉及到的算法会相比之前的来说比较困难,所以我尽量会讲得清楚一点. 而且 ...

  3. Python徒手实现识别手写数字—图片的读入与处理

    写在前面 在上一篇文章Python徒手实现手写数字识别-大纲中,我们已经讲过了我们想要写的全部思路,所以我们不再说全部的思路. 我这一次将图片的读入与处理的代码写了一下,和大纲写的过程一样,这一段代码 ...

  4. python手机代码识别数字_利用python构建神经网络识别手写数字(附源代码)

    一.运行环境配置 本次实验的运行环境win10(bit64),采用python环境为3.7.6,安装Python环境推荐使用Anaconda.Anaconda是一个免费开源的Python和R语言的发行 ...

  5. 百度OCR识别手写签名识别率不高解决

    文章目录 手写接口使用 识别率相关 示例 相关资源 手写接口使用 1.按操作手册申请服务拿到key 2.获取token 3. function getWord(img){var data = {&qu ...

  6. 手写识别python_Python徒手实现识别手写数字—图像识别算法(K最近邻)

    Python徒手实现识别手写数字-图像识别算法(K最近邻) 写在前面 这一段的内容可以说是最难的一部分之一了,因为是识别图像,所以涉及到的算法会相比之前的来说比较困难,所以我尽量会讲得清楚一点. 而且 ...

  7. 四、用简单神经网络识别手写数字(内含代码详解及订正)

    本博客主要内容为图书<神经网络与深度学习>和National Taiwan University (NTU)林轩田老师的<Machine Learning>的学习笔记,因此在全 ...

  8. Qt怎么实现将bmp图片转换成Ascii_怎么识别手写文字?迅捷OCR文字识别软件帮你快速完成...

    怎么识别手写文字?虽然现在手机.平板等设备已经普及开来,但是从小在学校养成的习惯,还是让大部分人选择会手写的方式.手写其实也有很大的缺陷,无论是在生活中还是在网络上进行分享都比较困难. 那么有没有将手 ...

  9. python识别手写文字_如何快速使用Python神经网络识别手写字符?(文末福利)

    原标题:如何快速使用Python神经网络识别手写字符?(文末福利) 点击标题下[异步社区]可快速关注 在本文中,我们将进一步探讨一些使用Python神经网络识别手写字符非常有趣的想法.如果只是想了解神 ...

  10. Python 神经网络是这样识别手写字符哒?

    当谷歌的 AlphaGo 战胜了人类顶级棋手,人工智能开始更多进入大众视野.而谷歌 AI 教父认为:"AlphaGo 有直觉神经网络已接近大脑". 千百年来,人类试图了解智能的机制 ...

最新文章

  1. linux 锁定重要文件 更改重要命令
  2. CSS样式学习-CSS 背景
  3. 用简单代码看卷积组块发展
  4. CSS 实现加载动画之四-圆点旋转
  5. GDCM:gdcm::Writer的测试程序
  6. Java黑皮书课后题第6章:*6.23(指定字符的出现次数)使用下面的方法头编写一个方法,找到一个字符串中指定字符的出现次数。编写一个测试程序,提示用户输入一个字符串以及一个字符,显示该字符出现次数
  7. 【大会】网络性能、安全与成本之困
  8. 欧几里得算法(即辗转相除法)的时间复杂度
  9. struts2-通配符和动态方法调用
  10. python requests post请求_Python“requests”模块中的POST请求无法正常工作
  11. Spring整合MyBatis框架
  12. 计算机房防凝露保温材料,机房保温的方案.docx
  13. Meshing Tutorials(网格划分教程)
  14. 产品设计-产品框架设计
  15. Linux系统CentOS 7中安装配置JDK
  16. Word文档怎样转化为pdf格式
  17. 不懂PS也制作图片倒影效果 – 推荐2个好用的在线为图片添加倒影效果的网站
  18. 组数(【问题描述】输入一行字符串(设字符数不大于80),提取该字符串中的数字字符并组成一个整数,输出该整数及其两倍的值。)
  19. wget安装pip和pip3
  20. 盗墓笔记《云顶天宫》好不好看?当贝投影F3画面还原度如何?

热门文章

  1. Java 查询Word是否存在关键字,并保留word路径到txt
  2. 解决《Python源码剖析》扫描版PDF字体模糊问题
  3. c语言写法方法加_void,c语言加法程序怎么写
  4. 计算机软件水平考试中级题目,计算机软考中级考试试题及答案
  5. python图像化计算器
  6. Vivado 开发教程 汇总
  7. Java语音转文字功能
  8. java poi excel 图表_Java用POI实现根据Excel表格模板生成新的Excel并实现数据输出
  9. Python Cartopy地图投影【2】
  10. 大数据技术原理与应用实验4——MapReduce初级编程实践