trainsfea.m

来自「支持向量机的手写数字识别,绝对原创,识别率100%」· M 代码 · 共 50 行

M
50
字号
function Bool = TrainsFea(num,para)
N = 30;
f = imread(strcat(num2str(num),'.bmp'));
plate =  (f(:,:,1) == 255)  &  (f(:,:,2) == 0)  &  (f(:,:,3) == 0) ;
f = rgb2gray(f);
f(plate == 1) = 255;
% imshow(f);
startPoints = [];
for t = 1:N
    startPoints = [startPoints;[1+floor((t-1)/10)*144, 1+mod(t-1,10)*96]];
end

ims = {};
for t = 1: N
    ims = [ims, f(startPoints(t,1):startPoints(t,1)+143, startPoints(t,2):startPoints(t,2)+95)];
end

if nargin == 2
   figure;    
   for t = 1:N
       subplot(N/10,10,t);
       image(ims{t});
       axis off;
   end    
end

Feature = [];
for t = 1:N
    Feature = [Feature;HandWritings(ims{t})];
end    


clear f ims plate startPoints t para num
if ~exist('pattern.mat')
    disp('Initiated ');
    pattern.feature = Feature;
    pattern.patternNum = N;
    clear Feature
    save pattern;
elseif exist('pattern.mat')
    disp('Exist ');
    load('pattern.mat');  
    pattern2.feature = Feature;
    pattern2.patternNum = N;
    pattern = [pattern, pattern2];
    clear pattern2 Feature
    save pattern;
end

Bool = true;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?