手写数字识别(慕课MOOC人工智能之模式识别)

问题:手写数字识别

数据集

数据集链接请点击我

代码

matlab 复制代码
%mat2vector.m
function [data_]= mat2vector(data,num)
    [row,col,~]= size(data);
    data_=zeros(num,row*col);
    for page =1:num
        for rows =1:row
            for cols=1:col
                data_(page,((rows-1)*col+cols))= im2double(data(rows,cols,page));
            end
        end
    end
end
matlab 复制代码
image = cell(1,10);
for i= 0:9
    filename = sprintf('E:/fig/model/%d.bmp',i);
    image{1,i+1} = mat2vector(imresize(imread(filename),[28,28]),1);
end

correct_num=0;
for index = 0:9
    distance =zeros(1,10);
    fname=sprintf('E:/fig/test/%d.1.bmp',index);
    sample =mat2vector(imresize(imread(fname),[28,28]),1);
    for j= 1:10
        distance(j)=pdist2(sample,image{1,j},'euclidean');
    end
    [m,p]= min(distance);
    if p-1==index
        correct_num=correct_num+1;
    end
    fprintf('数字%d到模板的最小距离为:%d,匹配到的类别为:%d\n',[index,m,p-1]);
end
fprintf('共测试10个样本,正确匹配个数为%d个\n',correct_num);

执行结果

补充(数据集文件夹的注意事项)



有问题联系xylwork@yeah.net

相关推荐
星期天要睡觉1 小时前
自然语言处理(NLP)——自然语言处理原理、发展历程、核心技术
人工智能·自然语言处理
低音钢琴1 小时前
【人工智能系列:机器学习学习和进阶01】机器学习初学者指南:理解核心算法与应用
人工智能·算法·机器学习
大千AI助手2 小时前
Hoeffding树:数据流挖掘中的高效分类算法详解
人工智能·机器学习·分类·数据挖掘·流数据··hoeffding树
新知图书2 小时前
大模型微调定义与分类
人工智能·大模型应用开发·大模型应用
山烛2 小时前
一文读懂YOLOv4:目标检测领域的技术融合与性能突破
人工智能·yolo·目标检测·计算机视觉·yolov4
大千AI助手2 小时前
独热编码:分类数据处理的基石技术
人工智能·机器学习·分类·数据挖掘·特征工程·one-hot·独热编码
钱彬 (Qian Bin)3 小时前
项目实践4—全球证件智能识别系统(Qt客户端开发+FastAPI后端人工智能服务开发)
人工智能·qt·fastapi
钱彬 (Qian Bin)3 小时前
项目实践3—全球证件智能识别系统(Qt客户端开发+FastAPI后端人工智能服务开发)
人工智能·qt·fastapi
Microsoft Word3 小时前
向量数据库与RAG
数据库·人工智能·向量数据库·rag
2401_836900334 小时前
YOLOv5:目标检测的实用派王者
人工智能·计算机视觉·目标跟踪·yolov5