Svm应用尝试(C#写的数字ocr软件LTOCR) _掉了后我找回来了!

 

通过前几天对svm的学习,结合最近对.netwinform的学习,昨天在以前的libsvm的基础之上写了一个简单的ocr数字识别程序。

对于libsvm的使用最重要的有两点:

1 针对不同的使用选取不同核函数.

2 训练样本的有效性和代表性,样本的覆盖面约大越好。

针对数字ocr的识别,特征向量的选取就非常的重要。由于是对ocrlibsvm的尝试,所以我的训练使用的是手写的图片,拖动鼠标,在picturbox控件上画的数字图片,既能训练,也能用来识别。样本数据保存在数据库中,需要识别的时候载入数据库的样本数据训练该分类识别器。

图片选择160*160的大小,特征向量选择:垂直投影,暂时没有经过边缘轮廓提取。简单的把该图片分成16*16网格, 每个网格的特征向量值:黑色的像素点/总的像素点,每个数字样本垂直投影后总共现只有16个特征向量,每个向量也就是垂直网格列的合计。依次顺序为:1,2,3,4…..16 ,为0(也就是空白)的特征向量在训练的时候也没有过滤掉。

1

2

3

4

5

6

15

16

数字

value

0.390625

0

0.59765625

0.625

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

数字1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

数字2

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

数字1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

数字3

3

……

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

效果:还不是特别满意:

1):1的识别率100%

2):3 8的识别率只有40%,经常会3识别成88识别成3,看来图像没有处理,特征向量的选择有很大的关系。

3):惩罚因子选择的是100

 

 

 

 

 

 

 

 

Ps:本人不善于表达。可惜,在这个blog上面不能贴图,也不能上传demo软件。只是由于对编程的爱好,促使我把自己的一些东西拿来和大伙分享,希望能够起到抛砖引玉的作用。也希望有更多的大虾来指点,交流。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值