SVM对手写数字的识别

其实就一个图像特征的提取(一种较简单的方法是将图像分成n*n的区域,统计每块区域中像素点所占的百分比),和SVM中参数的选择(上一篇文章)。不多说,上一波代码(Matlab)。运行有点久,因为参数选择很耗时间(相当于运行了100次),如果不需要参数选择,可以采用默认参数就好。每一次对应参数的分类准确率保存在R_train和R_test中。

clc
clear
%载入数据。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
size_pic = 6;
% 利用uigetfile函数交互式选取训练样本
[FileName,PathName,FilterIndex] = uigetfile( ...
    {'*.jpg';'*.bmp'},'请导入训练图片','*.png','MultiSelect','on');
if ~FilterIndex
    return;
end
num_train = length(FileName);
TrainData = zeros(num_train,size_pic*size_pic);
TrainLabel = zeros(num_train,1);
for k = 1:num_train
    pic = imread([PathName,FileName{k}]);
    pic = pick_feature(pic);%提取图像特征
    % 将标准化图像按列拉成一个向量并转置,生成6*6的训练样本矩阵
    TrainData(k,:) = double(pic(:)');
    % 样本标签为样本所对应的数字
    TrainLabel(k) = str2double(FileName{k}(1
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值