手写数字识别的几种实现方法
2016-05-25 23:41 狼人:-) 阅读(2183) 评论(1) 编辑 收藏 举报我使用了手写数字数据库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"中定义
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南