processbg.asv
来自「使用matlab实现手写阿拉伯数字的识别。」· ASV 代码 · 共 92 行
ASV
92 行
function result = processBG(image)
[m n] = size(image);
result = zeros(m,n);
[x y] = find(image == 0);
for i = 1 : length(x)
for k = 1 : max([m n]);
x1 = x(i)-k;
y1 = y(i)-k;
if x1 > 0 && y1 > 0 && image(x1, y1) == 1
result(x(i), y(i)) = result(x(i), y(i)) + 1;
break;
end;
end;
for k = 1 : max([m n]);
x2 = x(i)-k;
y2 = y(i);
if x2 > 0 && image(x2, y2) == 1
result(x(i), y(i)) = result(x(i), y(i)) + 1;
break;
end;
end;
for k = 1 : max([m n]);
x3 = x(i)-k;
y3 = y(i)+k;
if x3 > 0 && y3 <= n && image(x3, y3) == 1
result(x(i), y(i)) = result(x(i), y(i)) + 1;
break;
end;
end;
for k = 1 : max([m n]);
x4 = x(i);
y4 = y(i)-k;
if y4 > 0 && image(x4, y4) == 1
result(x(i), y(i)) = result(x(i), y(i)) + 1;
break;
end;
end;
for k = 1 : max([m n]);
x5 = x(i);
y5 = y(i)+k;
if y5 <= n && image(x5, y5) == 1
result(x(i), y(i)) = result(x(i), y(i)) + 1;
break;
end;
end;
for k = 1 : max([m n]);
x6 = x(i)+k;
y6 = y(i)-k;
if x6 <= m && y6 > 0 && image(x6, y6) == 1
result(x(i), y(i)) = result(x(i), y(i)) + 1;
break;
end;
end;
for k = 1 : max([m n]);
x7 = x(i)+k;
y7 = y(i);
if x7 <= m && image(x7, y7) == 1
result(x(i), y(i)) = result(x(i), y(i)) + 1;
break;
end;
end;
for k = 1 : max([m n]);
x8 = x(i)+k;
y8 = y(i)+k;
if x8 <= m && y8 <= n && image(x8, y8) == 1
result(x(i), y(i)) = result(x(i), y(i)) + 1;
break;
end;
end;
end;
ind = find(result == 5 || result == 6 || result == 7);
result1()
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?