python图片ocr识别手写印刷体中英文字体
脚本说明:
脚本需要修改 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识别手写印刷体中英文字体相关推荐
- BP神经网络理解原理——用Python编程实现识别手写数字(翻译英文文献)
BP神经网络理解原理--用Python编程实现识别手写数字 备注,这里可以用这个方法在csdn中编辑公式: https://www.zybuluo.com/codeep/note/163962 一 ...
- Python徒手实现识别手写数字—图像识别算法(K最近邻)
Python徒手实现识别手写数字-图像识别算法(K最近邻) 写在前面 这一段的内容可以说是最难的一部分之一了,因为是识别图像,所以涉及到的算法会相比之前的来说比较困难,所以我尽量会讲得清楚一点. 而且 ...
- Python徒手实现识别手写数字—图片的读入与处理
写在前面 在上一篇文章Python徒手实现手写数字识别-大纲中,我们已经讲过了我们想要写的全部思路,所以我们不再说全部的思路. 我这一次将图片的读入与处理的代码写了一下,和大纲写的过程一样,这一段代码 ...
- python手机代码识别数字_利用python构建神经网络识别手写数字(附源代码)
一.运行环境配置 本次实验的运行环境win10(bit64),采用python环境为3.7.6,安装Python环境推荐使用Anaconda.Anaconda是一个免费开源的Python和R语言的发行 ...
- 百度OCR识别手写签名识别率不高解决
文章目录 手写接口使用 识别率相关 示例 相关资源 手写接口使用 1.按操作手册申请服务拿到key 2.获取token 3. function getWord(img){var data = {&qu ...
- 手写识别python_Python徒手实现识别手写数字—图像识别算法(K最近邻)
Python徒手实现识别手写数字-图像识别算法(K最近邻) 写在前面 这一段的内容可以说是最难的一部分之一了,因为是识别图像,所以涉及到的算法会相比之前的来说比较困难,所以我尽量会讲得清楚一点. 而且 ...
- 四、用简单神经网络识别手写数字(内含代码详解及订正)
本博客主要内容为图书<神经网络与深度学习>和National Taiwan University (NTU)林轩田老师的<Machine Learning>的学习笔记,因此在全 ...
- Qt怎么实现将bmp图片转换成Ascii_怎么识别手写文字?迅捷OCR文字识别软件帮你快速完成...
怎么识别手写文字?虽然现在手机.平板等设备已经普及开来,但是从小在学校养成的习惯,还是让大部分人选择会手写的方式.手写其实也有很大的缺陷,无论是在生活中还是在网络上进行分享都比较困难. 那么有没有将手 ...
- python识别手写文字_如何快速使用Python神经网络识别手写字符?(文末福利)
原标题:如何快速使用Python神经网络识别手写字符?(文末福利) 点击标题下[异步社区]可快速关注 在本文中,我们将进一步探讨一些使用Python神经网络识别手写字符非常有趣的想法.如果只是想了解神 ...
- Python 神经网络是这样识别手写字符哒?
当谷歌的 AlphaGo 战胜了人类顶级棋手,人工智能开始更多进入大众视野.而谷歌 AI 教父认为:"AlphaGo 有直觉神经网络已接近大脑". 千百年来,人类试图了解智能的机制 ...
最新文章
- linux 锁定重要文件 更改重要命令
- CSS样式学习-CSS 背景
- 用简单代码看卷积组块发展
- CSS 实现加载动画之四-圆点旋转
- GDCM:gdcm::Writer的测试程序
- Java黑皮书课后题第6章:*6.23(指定字符的出现次数)使用下面的方法头编写一个方法,找到一个字符串中指定字符的出现次数。编写一个测试程序,提示用户输入一个字符串以及一个字符,显示该字符出现次数
- 【大会】网络性能、安全与成本之困
- 欧几里得算法(即辗转相除法)的时间复杂度
- struts2-通配符和动态方法调用
- python requests post请求_Python“requests”模块中的POST请求无法正常工作
- Spring整合MyBatis框架
- 计算机房防凝露保温材料,机房保温的方案.docx
- Meshing Tutorials(网格划分教程)
- 产品设计-产品框架设计
- Linux系统CentOS 7中安装配置JDK
- Word文档怎样转化为pdf格式
- 不懂PS也制作图片倒影效果 – 推荐2个好用的在线为图片添加倒影效果的网站
- 组数(【问题描述】输入一行字符串(设字符数不大于80),提取该字符串中的数字字符并组成一个整数,输出该整数及其两倍的值。)
- wget安装pip和pip3
- 盗墓笔记《云顶天宫》好不好看?当贝投影F3画面还原度如何?