必威体育Betway必威体育官网
当前位置:首页 > IT技术

免费轻松识别手写汉字工具-python

时间:2019-10-14 05:14:30来源:IT技术作者:seo实验室小编阅读:57次「手机版」
 

手写识别

免费轻松识别手写汉字工具-Python

    • 话不多说,先上效果图!
    • 开发过程
    • 小工具打包为.exe程序了。[下载连接](https://download.csdn.net/download/puremilkll/10707679)

话不多说,先上效果图!

这是需要识别的手写汉字:

手写汉字

这是识别效果:

识别效果

下面是通用OCR识别:

机器汉字

效果:

在这里插入图片描述

识别效果还是非常好的, 单字识别准确率可达到中文98%以上。

我已经将小工具打包为.exe程序了。下载连接,下载后可以直接使用。

喜欢自己捣鼓的小伙伴,可以到腾讯ai开放平台逛逛,现在上面大部分功能都是免费的,赶紧玩玩儿,嘿嘿。

开发过程

  1. 首先需要python开发环境,推荐安装anaconda3,比较方便;
  2. 下载 简单易用的python接口,可以快速开发使用腾讯AI开放平台的功能。(pip install qqai)

    安装qqai

    qqai的github地址,里面有使用介绍等

    qqai介绍

  3. 直接上代码
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程序了。下载连接

相关阅读

js 中汉字和Unicode 互转

   首先,什么是Unicode,百科知识:Unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等;Unicode

电脑不识别U盘启动盘了怎么办怎么恢复

现在好多人都直接用U盘当做电脑启动盘。往往由于在使用U盘的过程中,不小心被病毒或自己使用时不规范操作将自己的心爱之物很快出现

【字体分享】来一波免费的漂亮英文手写体(上)

今天带给大家一波免费的漂亮英文手写体,下面的英文字体都是免费下载的哦,喜欢的话快抱走吧!1、Rusted Orlando2、Classical3、Honey

语音识别ASR技术通识

上午看了一篇文章: 语音识别的痛点在哪,从交互到精准识别如何做? | 硬创公开课 感觉没看懂,下午就看到了团长精心总结的这篇ASR技术通

对于广告性的文案应该从哪里入手写起

人类的沟通从一开始就开始了,但只有当这种模式被文字取代时,人类文明才开始起飞,因为沟通可以更加准确,沟通的双方,甚至更多的政党,都不

分享到:

栏目导航

推荐阅读

热门阅读