联机手写大写英文字母识别

联机与脱机 手写汉字识别 1. 知识了解 1.1 汉字识别的两类主流方法 Online recognition: 联机识别,基于笔画轨迹 Offline recognition: 脱机识别, 基于图像 ( 联机手写汉字识别所处理的手写文字是书写者通过物理设备 (如数字笔、 数字手写板或者触摸屏) 在线书写获取的文字信号, 书写的轨迹通过定时采样即时输入到计算机中. 而脱机手写文字识别所处理的手写文字是通过扫描仪或摄像头等... 阅读详情

Online handwriting with upper letter

I just try to make use of the letter stroke num & the track of the stroke to classify the letter.
the result is pretty good.I finish it base OPENCV 1.0, with VC2005 at XP.

1.traning process
recording the mouse track => disperse the track => got 50 points => get max square width
=>make them into same size(ignore the letter size)=> calculate FFT from X,Y, and got the first 5 num
=> write data.txt

2.recognizing part
load the data=>use the Random Trees to classify => get feature data => predict the letter.

3.the format of feature data
letter + stroke num + stroke n X 5FFT + stroke n Y 5FFT (n = 0,1,2)
A 3 .....
if the letter has no more strokes,just write 0 data.

4. how to write the letter

online upper letter rule
1. C J L O S U V W Z finish in one stroke
2. B D G K M N P Q T X Y finish in two stroke
3. A E F H I R finish in three stroke

You’d better follow the rule from attach video.

5.shortage
although the training data is not enough, maybe need more training.
sometime the letter K will be as P .
can not rotate the letter.

6.need improve
can not classify lower letter, because the lower letter “c o x v s z p” looks same with the upper ones.
maybe need add HMM later.
maybe classify the Arabic numerals later.

7.how to use
1. there two state (recognizing and training) for the app,In recognizing mode,use your mouse write upper letter on ‘Win’ window,after 1 second,then will get result on Win2。
2. you can press ‘m’ key to change mode from recognizing to training or back.
3. In training mode,change the value of letter, then you can write upper letter on ‘Win’ window, and app will write data into data.txt.”
4. you can retrain the training data by press ‘t’ without restart program.
5. you can modify the training data ‘data.txt’ by hand if you want or any error input.

联机手写大写英文字母识别演示

利用了联机手写的笔画数目,笔画轨迹做为特征量进行识别。训练测试接近100%.实际识别也比较准。

1。训练部分
记录鼠标轨迹=>将轨迹离散化=>提取每个轨迹上等距的50个点=>求取轨迹最大外接正方形宽度
=>整理数据统一大小(使得特征数据不依赖书写的大小)=> 对X,Y分别傅立叶变换提取五个主要谐波A0-A4
=>写入数据

2。识别部分
载入训练数据=>使用Random Trees分类=>得到特征数据=>预测

3.特征数据格式

类别 + 轨迹数量 + 轨迹n X分量的傅立叶变换 + 轨迹n Y分量的傅立叶变换 (n = 0,1,2)
A 3 ..... .....

如果没有轨迹用0补充.

4.大写字母书写规则

26个字母要按一定笔划顺序书写。书写的规律有以下几点:
联机大写字母书写规则
1. C J L O S U V W Z 一笔划完成
2. B D G K M N P Q T X Y 两笔划完成
3. A E F H I R 三笔划完成

详细的书写方法见视频, 需要严格按照视频中的书写笔划。

5.缺点
因为数据量大小,训练测试接近100%,是否需要加入更多的数据?
需要使用者按照标准的大写写法写,偶尔有的时候K字母有点问题.
不支持带角度的书写.
目前特征数据也没有做归一化,因为觉得识别结果还可以就没做。
目前只尝试了Random Trees,参数也没怎么调整过。
是否需要SVM训练?(目前版本svm存储训练结果有问题).

6。改进
这只是个DEMO , 目前不能识别小写字母,因为某些小写字母:c o x v s z p 等基本与大写字母一样,还要想方法解决。
还没有充分利用到笔顺特征,笔划时间,加入HMM预测(单词?)。
还要加入阿拉伯数字识别。

7.使用方法
1.程序有两个状态,识别状态与训练状态,默认为识别状态,用鼠标在win窗口书写大写字母,当鼠标离开一秒后,win2窗口显示训练结果。
2.使用m切换状态
3.在训练状态,调节letter控条,显示需要训练的字母,然后在win窗口书写大写字母,特征数据会写入data.txt
4.可以按t键,重新训练模型
5.如果程序出错,或者写入出错,可以手工编辑data.txt

 代码下载(download)

opencv_share@163.com download

 

支持向量机手写体识别matlab SVM的手写体识别matlab程序,附带数据源,安装limSVM后可直接运行 立即下载

相关推荐

基于笔顺自由及连笔的联机手写汉字识别

基于笔顺自由及连笔的联机手写汉字识别,联机手写汉字识别技术涉及模式识别,图像处理,自然语言理解,人工智能等多种学科,是一门综合性技术。

OCR(联机手写汉字识别)

2 联机手写汉字识别——笔输入——笔输入2.1 什么是笔输入——从键盘输入说起笔(式)输入也叫做手写输入。它的用途是在一块跟计算机连接的书写板上写字,即时把字符输入计算机。必须指出的是,笔输入的作用不只是输入字符的图形,还要据此对该字符加以识别,并用机内代码来表示,以便于对输入的文字作进一步处理。电子计算机是西方发明的,用键盘来打印拼音文字在西方已有很长的历史,因此采用键盘向计算机输入拼音文字和标

深之JohnChen的专栏 1万+

联机手写字符识别系统的设计与实现

计算机视觉目前越来越成当前学术界的一个研究热点方向,而它所包含的模式识别则是一个重要研究分之,它旨在以计算机为处理平台,利用图像处理技术对于图片或视频中感兴趣区域进行分割,识别。在众多的模式识别种类中,字符识别技术可谓是极其重要的一种,它利用计算机对文字进行自动分割、识别,被应用于文字录入、自动驾驶等各方面,具有广阔的社会价值和经济价值。 本文首先阐述了国内外各种主流的字符识别算法原理,随后在综合了各类算法的优缺点之后提出了一种基于调节因子的图像手写字符分割识别算法。该算法首先对待识别的字符图像进行区域分割操作,分割字符区域和背景区域,随后提取出二值字符图像的特征量,与事先提取保存入库的各标准字符特征量进行匹配操作,选取匹配差值最小的为识别字符。实验结果表明该算法的运算复杂度较低,同时能够在较短时间内分割并检测出字符的内容,识别率较高,针对一些未正常书写的字符也能够起到较为良好的分割识别效果。

联机手写识别

<br />谁来帮帮我,我想找个可参考的源代码。

MoJianGhost3的专栏 1247

一个相当不错的源代码 联机手写数字识别

下载即可运行, 相当不错的源代码。可供参考

基于matlab和opencv的手写数字及字母识别系统.rar

基于matlab和opencv的手写数字及字母识别系统

联机手写识别技术

据权威部门统计,2000年计算机销售比1999年增长超过50%。随着目前计算机已大量走人家庭,键盘汉字输入越来越"不合时宜"。因为许许多多的来自普通家庭的用户对计算机的使用并不很熟练,要让这些用户再掌握一门编码的汉字输入方法就更难了。相对于键盘输入方式,电脑笔输入是一种"直接"方式,因为屏幕上显示的和输入者写的字具有同样的结构。电脑笔输入是人们在纸上书写汉字方式在电脑上的直接延伸,它更为自然、更符...

qazwsxzse的博客 1136

解决[WARN] : Controller Spawner couldn‘t find the expected controller_manager ROS interface.思路

rrbot例程ros_control配置问题的解决思路 本人刚入门ROS机器人开发,在学习rrbot例程出现了control_manager无法启动的bug。 在启动rrbot_control.launch的时候,出现下列warning: [WARN] [1594362016.372059]: Controller Spawner couldn't find the expected controller_manager ROS interface. 之后再按教程的步骤 rosservice call /

qq_40299650的博客 1万+

【手写数字识别】基于matlab GUI BP神经网络手写数字识别【含Matlab源码 1118期】

BP神经网络手写数字识别 完整代码,直接运行,适合小白!可提供运行操作视频!

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 3119

自举电容的工作原理-3句话总结

1、一道面试题 照例,先抛出来一道面试题:“Buck电路的SW引脚通常会放置一颗小电容,这颗电容有什么用?”。这个问题问得比较细,非常考验被面试者的硬件基本功。 2、似懂非懂的答案 有小伙伴可能不太清楚这颗电容的作用,回答不上来。也有小伙伴脱口而出:自举电容,用来做升压的。但后面好像说不出来具体逻辑。 没具体了解过,答不上来,也没啥可惜的。但是了解过一点,但又似懂非懂的这种,给出的答案只是轻轻点水或者千篇一律,那无疑是错过了一个加分项。 3、异步Buck的自举环路组成 既然是针对Buck电路讲自举电容,前面

ltqdxl的博客 3万+

【开源教程25】疯壳·开源编队无人机-定高、定点、悬停

【开源教程25】疯壳·开源编队无人机-定高、定点、悬停

efans_Mike的博客 1650

基于SVM的手写字体识别

基于SVM的手写字体识别 1.案例背景 (1)手写体数字的识别在社会经济中的许多方面都有着广泛的应用,其识别方法也有许多种,如神经网络,Bayes判别法等。由于手写体人为因素随意性大,手写字体识别的难度远高于印刷体的识别。 (2)本次项目所用训练样本为300张256256像素点的0~9的手写数字图片,每个数字均30 张。 (3)数据集获取:gethub下载 2.准备工作 (1)下载安装matlab2019b (2)下载安装并配置LIBSVM工具箱 (3)下载安装并配置LIBSVM-FarutoUitim.

Einperson的博客 5475

Computers & Security 投稿实战:从零到一详解避坑指南

本文详细解析了向《Computers & Security》投稿的全流程避坑指南,包括ORCID账号注册、文件格式统一、Editorial Manager®系统操作技巧等关键步骤。特别强调了cover letter撰写、Declaration of Interest Statement准备以及PDF生成后的检查要点,帮助研究者高效完成投稿流程。

weixin_29228203的博客 673

机器学习SVM--基于手写字体识别

手写字体optdigits识别:每一行代表一个手写字体图像,最大值为16,大小64,然后最后一列为该图片的标签值。import numpy as np from sklearn import svm import matplotlib.colors import matplotlib.pyplot as plt from PIL import Image from sklearn.metrics ...

OliverkingLi的博客 1万+

桁架 拓扑优化 matlab程序_拓扑优化在结构轻量化及板壳加筋肋最优布置的应用...

1 拓扑优化简介材料的有效利用一直都是人类追求的目标,也是许多研究领域不变的话题,并伴随着结构优化理论和方法的产生而发展。结构优化设计通常分为三个层次:(1)拓扑优化:在一个确定的连续区域内寻求结构内部非实体区域位置和数量的最佳配置,寻求结构中的构件布局及节点联结方式最优化,使结构能在满足应力、位移等约束条件下,将外载荷传递到结构支撑位置,同时使结构的某种性态指标达到最优;(2)形状优化:指在保持...

weixin_39525355的博客 1877

Datawhale~数据挖掘实践之序列问题处理~天池·资金流入流出预测-挑战Baseline~Day01~数据探索与分析

写在前面✍ 本系列笔记基于天池平台上“资金流入流出预测-挑战Baseline”学习赛,记录如何完整的打一次数据挖掘类比赛。同时,该比赛属于序列建模问题,希望学习完成这个任务,可以对序列问题的处理有一定的独立思考能力和实践操作能力,可以将所学理论,用编码的形式和实际的问题得到深入。 第一篇,EDA Content: 初步了解赛题及数据 1.1 任务 1.2 用户基本信息数据 1.3 用户申购赎回数据 1.4 收益率表 1.5 银行间拆借利率表 1.6 提交格式 1.7 评分指标 EDA 1 初.

小卜妞的博客 2358

基于SVM手写数字识别

代码链接:http://download.youkuaiyun.com/detail/edwards_june/9856050 from numpy import * def loadDataSet(fileName): dataMat = [] labelMat = [] fr = open(fileName) for line in fr.readlines(

Edwards_June的专栏 3107

vivado2020.2安装教程:Windows平台完整指南

手把手带你完成vivado2020.2安装教程,覆盖下载、配置到验证全过程,解决常见安装问题,确保在Windows平台顺利部署开发环境,适合初学者快速上手。

weixin_42607969的博客 1344

训练数据示例

针对“规格书生成测试用例脚本”的任务,在 LLaMA-Factory 中使用即可。关键是把“规格书内容”放进input字段,把“期望的脚本输出”放进output字段。

liuxs2009的专栏 57

Unity与iOS原生交互实战指南

C#(DllImport) → C 接口(extern "C") → Objective‑C / SwiftObjective‑C → UnitySendMessage → C#(GameObject + public 方法)在写.mm文件;在里面写;C# 用声明;调用它,参数就是 string / 数值等;在.mm里做你想做的 iOS 原生操作。在 Unity 里准备一个常驻 GameObject,比如;上面挂一个脚本,写;在 iOS 插件中用;

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 1357

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

从瀑布到流水线:DevOps 入门与 GitLab + Jenkins + Docker 落地实践

先看清软件开发生命周期(SDLC)的全貌,再对比瀑布模型与敏捷开发,随后进入持续集成与 CI/CD 的机制内核;最后落到实操——在 GitLab、Jenkins、Docker 组成的四机实验环境里,走完源码托管、自动化构建、镜像封装与远程部署,直到参数化构建与版本回滚。概念与命令并重,既是入门地图,也是操作手册。

年轻的时候很穷,经过我多年的努力,终于不再年轻。 239

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

DNS 不是把域名翻译成 IP:递归解析、TTL 缓存、CNAME 与报文排错实战

本文通过离线Python实验,拆解DNS递归解析、缓存机制与报文结构,揭示“DNS不是全局映射表”的本质。重点解析递归器角色、TTL衰减、CNAME链处理、负缓存隔离及修改记录延迟生效等核心问题,结合实战排错案例,阐明缓存层级、事务匹配、截断处理与安全边界,强调从应用到权威的逐层排查逻辑,实现可复现、可验证的DNS教学系统。

此人很懒,什么都没有写~~ 347

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Java EE 进阶:8.MyBatis 操作数据库(入门)(第一弹)

Java EE 进阶:8.MyBatis 操作数据库(入门)(第一弹)

要努力去发光,而不是被照亮~ 117

【LTE L3 笔记 09】LTE物理信道-PRACH

课程来源:B站《【2022】华为HCIA-LTE无线工程师认证学习中级视频》笔记为个人整理,含课件截图,仅供学习交流。

lyouhuan的博客 187
上一篇: 分形之美
下一篇: 用python 在c++计算数学表达式的例子
hardVB
博客等级 码龄26年 257粉丝 58原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值