我需要生成具有不同长度,度数和宽度的线性扁平结构元素(用于形态图像处理)。我正在使用 strel 功能,它只有长度和度数作为输入。我如何在MATLAB代码中为线性SE指定各种宽度?
请帮帮我 提前谢谢你
答案 0 :(得分:0)
您必须使用'arbitrary'
选项而不是'line'
,并提供一个矩阵来描述结构元素的形状作为输入。 strel()
没有提供任何选项来改变结构元素的宽度,如果你选择它是直线,这是直观的,因为我们在几何中描述的线条具有恒定的宽度。
您可以使用'line'
选项作为起点。将该行保存到变量:
line_elem = strel('line', length, deg);
line_elem
是一个0和1表示行的矩阵 - 您可以编辑它以符合您的目的,然后使用strel()
选项将其提供给'arbitrary'
。例如。如果您希望线条宽度为3像素而不是1,则只需在左侧添加一个像素,在line_elem
的每一行中向单元格右侧添加一个像素,其值等于1。如果要改变宽度,只需编辑每一行并更改每行中的不同像素数。如果你想改变度数,你可以尝试使用上面的代码生成不同程度和长度的几行,然后将它们粘合在一起,然后如果你想改变宽度,也可以编辑结果矩阵的行。