当前位置: 代码迷 >> 综合 >> 【图像识别】基于PCA实现手写数字识别matlab代码
  详细解决方案

【图像识别】基于PCA实现手写数字识别matlab代码

热度:38   发布时间:2023-12-03 22:31:21.0

 1 简介

手写体识别由于其实用性,一直处于研究进步的阶段,本文主要针对的是对0-9十个手写数字体脱机识别,在Matlab中对样本部分为进行16特征的提取,分别采用最小距离法算法进行0-9十个数字进行识别。

2 部分代码

clear all
clc
close all% 选择训练数据、测试数据路径(即目录TrainData和TestData)
TrainDatabasePath = uigetdir('D:\Program Files\MATLAB\R2007b\work', '选择[训练数据]路径' );
TestDatabasePath = uigetdir('D:\Program Files\MATLAB\R2007b\work', '选择[测试数据]路径');prompt = {'输入测试图像名字(1、2):'};
dlg_title = 'PCA识别输入';
num_lines= 1;
def = {'1'};TestImage = inputdlg(prompt,dlg_title,num_lines,def);
TestImage = strcat(TestDatabasePath,'\',char(TestImage),'.jpg');
im = imread(TestImage);T = CreateDatabase(TrainDatabasePath);%创建测试数据库
[m, A, EigenPos] = PCA(T);
OutputName = Recognition(TestImage, m, A, EigenPos);%识别输出匹配图像SelectedImage = strcat(TrainDatabasePath,'\',OutputName);
SelectedImage = imread(SelectedImage);imshow(im)
title('测试图像');
figure,imshow(SelectedImage);
title('等价图像');str = strcat('匹配图像是: ',OutputName);
disp(str)

3 仿真结果

4 参考文献

[1]蓝雯飞, 汪敦志, and 张盛兰. "一种新的降维算法PCA_LLE在图像识别中的应用." 中南民族大学学报:自然科学版 39.1(2020):6.

部分理论引用网络文献,若有侵权联系博主删除。

5 MATLAB代码与数据下载地址

见博客主页

  相关解决方案