手写数字识别的几种实现方法

我使用了手写数字数据库MNIST的一个子集,并做了多种处理

程序中附有数据库,完整的数据库在这儿下载,程序在这儿下载

 

实现的算法有:

模板匹配

类中心欧式距离

贝叶斯分类算法

夹角余弦距离

奖惩算法

增量校正算法

LMSE算法

 

特征提取方法:图像分割为若干小块,计算笔画像素占小块总像素数的比例

每一个算法都在独立的cpp文件中,

我直接使用源数据库而未作处理,最初使用图像的5x5分割,

为了提高精度,后来又使用7x7分割,

下载程序中已经有这两种分割的特征数据

 

主程序使用函数指针调用测试各个算法的实现,每次仅测试一个,如果你愿意,可以用一个数组,一次性全部运行测试

因为有些算法使用的5x5,有些使用的7x7,

在运行时请注意,

如果这个算法的cpp文件中出现了"digits-crop/train-feature/feature_7x7_",则相应主程序应为string test_file_name("digits-crop/test-feature/feature_7x7_");再出现变量feature_的地方替换为feature_7x7_num

如果这个算法的cpp文件中出现了"digits-crop/train-feature/feature_",则相应主程序应为string test_file_name("digits-crop/test-feature/feature_");再出现变量feature_的地方替换为feature_num

 

const int feature_num=25;
const int feature_7x7_num=49;

在头文件"main_test.h"中定义

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值