我正在研究 Brushfire 算法,我需要创建一个循环来扫描矩阵并找到相邻的零和 1,并将“1”转换为“2”。假设我有一个 5 乘 5 的矩阵:
0 0 0 0 0
0 1 1 1 1
0 0 1 1 1
0 0 1 1 1
0 0 1 1 1
我能以某种方式做到吗:
0 0 0 0 0
0 2 2 2 2
0 0 2 1 1
0 0 2 1 1
0 0 2 1 1
谢谢
最佳答案
使用图像处理工具箱,算法将是:
A = [0 0 0 0 0
0 1 1 1 1
0 0 1 1 1
0 0 1 1 1
0 0 1 1 1];
B = A;
%# set pixels at border between 0 and 1 to 2
B(imdilate(~A,true(3)) & A>0) = 2;
关于algorithm - 在Matlab中转换矩阵的相邻元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28944658/