📄 digitrec.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 + -