algorithm - 在Matlab中转换矩阵的相邻元素

标签 algorithm matlab matrix

我正在研究 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/

相关文章:

function - 以矩阵接口(interface)为参数的Go函数

C++减少矩阵的维度

c++ - 使用assimp的骨骼动画中的矩阵顺序

c++ - 在连续重复元素的数组中找到单个元素

函数的 JavaScript 命名

c++ - opencv - 图像乘法

matlab - Matlab中的EEG带通滤波器

C# - 获取列表中最接近的更大数字

java - 如何管理 Wordle Game (JavaFx) 中的重复字母?

matlab - 如何在 MATLAB MEX 文件中创建 double 的 N 维矩阵?