⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 digitrec.m

📁 使用matlab实现手写阿拉伯数字的识别。
💻 M
字号:

[f, map] = imread('number.bmp');
f = ind2gray(f, map);

T = 180 / 255 ;
f = im2bw(f,T);%im2bw 函数通过对灰度值进行阈值判断的方法达到目的。
f = ~f;

se = strel('disk', 5);
f2 = imclose(f, se);%先膨胀后腐蚀称为闭运算
%split the 8 and 5 manually
f2(333,296) = 0;
%imshow(f2);

f2 = bwmorph(f2, 'thin', Inf);
[L, num] = bwlabel(f2);

D = regionprops(L, 'Image', 'Centroid');
nr = length(D);
r.Centroid = [D.Centroid];
r.digit = zeros(nr,1);
tmp_moments = zeros(10,1);

S = Training();
for i = 1:10
     smoments(i,:) = invmoments(S(i).Image);
end;

for i = 1 : nr;
    [m n] = size(D(i).Image);
    D(i).Image = imdilate(D(i).Image, ones(3,3));
    subplot(2, 11, i);
    imshow(D(i).Image);
    t_moments(i,:) = invmoments(D(i).Image);
    
    tmp = abs(smoments(:,4) - t_moments(i,4));
    [a b] = min(tmp);
    index(i) = b;
    subplot(2,11, i+11);
    imshow(S(index(i)).Image);
end;





⌨️ 快捷键说明

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