手写识别
免费轻松识别手写汉字工具-Python
话不多说,先上效果图!
这是需要识别的手写汉字:
这是识别效果:
下面是通用OCR识别:
效果:
识别效果还是非常好的, 单字识别准确率可达到中文98%以上。
我已经将小工具打包为.exe程序了。下载连接,下载后可以直接使用。
喜欢自己捣鼓的小伙伴,可以到腾讯ai开放平台逛逛,现在上面大部分功能都是免费的,赶紧玩玩儿,嘿嘿。
开发过程
- 首先需要python开发环境,推荐安装anaconda3,比较方便;
- 下载 简单易用的python接口,可以快速开发使用腾讯AI开放平台的功能。(pip install qqai) ;
qqai的github地址,里面有使用介绍等
- 直接上代码;
from tkinter import *
import tkinter.filedialog
import qqai
"""腾讯AI开放平台 图片识别"""
APP_id = '你自己的app_id'
app_key = '你自己的app_key '
"""app_id , app_key 可以自己去腾讯AI开放平台注册,是免费的"""
root = tkinter.Tk()
var = tkinter.StringVar()
def ocrImage(filename):
robot = qqai.vision.ocr.GeneralOCR(app_id, app_key) # 通用OCR
item_list = []
words = ''
# 通用OCR
with open(filename, 'rb') as image_file:
result = robot.run(image_file)
for key in result:
if key == 'data':
item_list = result[key]['item_list']
for n in item_list:
if len(n['itemstring']) > 40:
words += n['itemstring']
else:
words += n['itemstring'] + '\n'
print(words)
t.insert(1.0, words)
def HandwritingOCRImage(filename):
robot = qqai.vision.ocr.HandwritingOCR(app_id, app_key) # 手写
item_list = []
words = ''
# 手写OCR
with open(filename, 'rb') as image_file:
result = robot.run(image_file)
for key in result:
if key == 'data':
item_list = result[key]['item_list']
for n in item_list:
if len(n['itemstring']) > 40:
words += n['itemstring']
else:
words += n['itemstring'] + '\n'
print(words)
t.insert(1.0, words)
def xz1():
btn.config(state=tkinter.disableD) # 按钮失效
btn1.config(state=tkinter.DISABLED) # 按钮失效
filename = tkinter.filedialog.askopenfilename()
if filename != '':
l.config(text="您选择的文件是:"+filename)
ocrImage(filename)
else:
l.config(text="您没有选择任何文件")
btn.config(state=tkinter.ACTIVE) # 激活按钮
btn1.config(state=tkinter.ACTIVE) # 激活按钮
def xz2():
btn.config(state=tkinter.DISABLED) # 按钮失效
btn1.config(state=tkinter.DISABLED) # 按钮失效
filename = tkinter.filedialog.askopenfilename()
if filename != '':
l.config(text="您选择的文件是:"+filename)
HandwritingOCRImage(filename)
else:
l.config(text="您没有选择任何文件")
btn.config(state=tkinter.ACTIVE) # 激活按钮
btn1.config(state=tkinter.ACTIVE) # 激活按钮
# 第2步,给窗口的可视化起名字
root.title('图像识别')
# 第3步,设定窗口的大小(长 * 宽)
root.geometry('500x300') # 这里的乘是小x
# 第4步,在图形界面上设定标签
l = tkinter.Label(root, text='你好!这是图像识别工具', font=('Arial', 12), width=30, height=2)
# 说明: bg为背景,font为字体,width为长,height为高,这里的长和高是字符的长和高,比如height=2,就是标签有2个字符这么高
# 第5步,放置标签
l.pack() # Label内容content区域放置位置,自动调节尺寸
# 放置lable的方法有:1)l.pack(); 2)l.place();
btn = tkinter.Button(root, text="通用OCR", command=xz1)
btn.pack()
btn1 = tkinter.Button(root, text="手写体OCR", command=xz2)
btn1.pack()
t = tkinter.Text(root, height=16)
t.pack()
root.mainloop()
效果:
小工具打包为.exe程序了。下载连接
相关阅读
首先,什么是Unicode,百科知识:Unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等;Unicode
现在好多人都直接用U盘当做电脑启动盘。往往由于在使用U盘的过程中,不小心被病毒或自己使用时不规范操作将自己的心爱之物很快出现
今天带给大家一波免费的漂亮英文手写体,下面的英文字体都是免费下载的哦,喜欢的话快抱走吧!1、Rusted Orlando2、Classical3、Honey
上午看了一篇文章: 语音识别的痛点在哪,从交互到精准识别如何做? | 硬创公开课 感觉没看懂,下午就看到了团长精心总结的这篇ASR技术通
人类的沟通从一开始就开始了,但只有当这种模式被文字取代时,人类文明才开始起飞,因为沟通可以更加准确,沟通的双方,甚至更多的政党,都不