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


    我使用了手写数字数据库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"中定义

     
     
  • 相关阅读:
    单链表反转
    C++面试题
    堆排序
    1链表:回文链表(leetcode 234)
    深信服社招linux岗面试记录
    腾讯后台开发社招记录(电话面试)
    小米社招ATE岗位记录
    诺基亚社招C++面试记录
    腾讯后台开发社招面试记录
    makefile笔记
  • 原文地址:https://www.cnblogs.com/waw/p/5529062.html
Copyright © 2020-2023  润新知