资源简介

基于SVM的手写数字识别及数字图像的特征提取

资源截图

代码片段和文件信息

function f=feature_extraction(fileimage)
%   特征提取
I=imread(fileimage);
th=graythresh(I);
I=im2bw(Ith);
%imshow(I00);
[rowcol]=size(I);
f(1:31)=0;
%% 提取像素分布特征16个
%第一行块
for j=1:col/4
    for i=1:row/4
        if I(ij)==1
            f(1)=f(1)+1;
        end
    end
end
for j=col/4+1:col/4*2
    for i=1:row/4
        if I(ij)==1
            f(2)=f(2)+1;
        end
    end
end
for j=col/4*2+1:col/4*3
    for i=1:row/4
        if I(ij)==1
            f(3)=f(3)+1;
        end
    end
end 
for j=col/4*3+1:col/4*4
    for i=1:row/4
        if I(ij)==1
            f(4)=f(4)+1;
        end
    end
end 
%第二行块
for j=1:col/4
    for i=row/4+1:row/4*2
        if I(ij)==1
            f(5)=f(5)+1;
        end
    end
end
for j=col/4+1:col/4*2
    for i=row/4+1:row/4*2
        if I(ij)==1
            f(6)=f(6)+1;
        end
    end
end
for j=col/4*2+1:col/4*3
    for i=row/4+1:row/4*2
        if I(ij)==1
            f(7)=f(7)+1;
        end
    end
end 
for j=col/4*3+1:col/4*4
    for i=row/4+1:row/4*2
        if I(ij)==1
            f(8)=f(8)+1;
        end
    end
end 
%第三行块
for j=1:col/4
    for i=row/4*2+1:row/4*3
        if I(ij)==1
            f(9)=f(9)+1;
        end
    end
end
for j=col/4+1:col/4*2
    for i=row/4*2+1:row/4*3
        if I(ij)==1
            f(10)=f(10)+1;
        end
    end
end
for j=col/4*2+1:col/4*3
    for i=row/4*2+1:row/4*3
        if I(ij)==1
            f(11)=f(11)+1;
        end
    end
end 
for j=col/4*3+1:col/4*4
    for i=row/4*2+1:row/4*3
        if I(ij)==1
            f(12)=f(12)+1;
        end
    end
end
%第四行块
for j=1:col/4
    for i=row/4*3+1:row/4*4
        if I(ij)==1
            f(13)=f(13)+1;
        end
    end
end
for j=col/4+1:col/4*2
    for i=row/4*3+1:row/4*4
        if I(ij)==1
            f(14)=f(14)+1;
        end
    end
end
for j=col/4*2+1:col/4*3
    for i=row/4*3+1:row/4*4
        if I(ij)==1
            f(15)=f(15)+1;
        end
    end
end 
for j=col/4*3+1:col/4*4
    for i=row/4*3+1:row/4*4
        if I(ij)==1
            f(16)=f(16)+1;
        end
    end
end
fmax=max(f);
fmin=min(f);
for i=1:16
    f(i)=(f(i)-fmin)/(fmax-fmin);
end

%% 提取交点特征6个
j=11;   %扫描第11列
for i=1:row
    if I(ij)==1
        f(17)=f(17)+1;
    end
end
j=14;   %扫描第14列
for i=1:row
    if I(ij)==1
        f(18)=f(18)+1;
    end
end
j=17;   %扫描第17列
for i=1:row
    if I(ij)==1
        f(19)=f(19)+1;
    end
end
i=11;   %扫描第11行
for j=1:row
    if I(ij)==1
        f(20)=f(20)+1;
    end
end
i=14;   %扫描第14行
for j=1:row
    if I(ij)==1
        f(21)=f(21)+1;
    end
end
i=17;   %扫描第17行
for j=1:row
    if I(ij)==1
        f(22)=f(22)+1;
    end
end

%% 字符轮廓特征提取9个
l(1:28)=0;r(1:28)=0;
for i=1:row
    for j=1:col
        if(I(ij)==1)
            l(i)=j;
            break
        end       
    end
end
for i=1:row
    for j=col:-1:1
  

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        3577  2013-06-20 15:02  feature_extraction.m
     文件        1151  2013-06-21 00:27  SVM_Digital_recognition.m

评论

共有 条评论