0

我使用的是 MATLAB 2014b,因此该函数的strel行为方式与较新版本[1]略有不同。在任何情况下,我都会disk通过 8 个(实际上是 10 个)线性结构元素的近似值来生成一个成形的结构元素。

我想可视化这些线性结构元素,例如在子图中。不幸的是,在使用 MATLAB 这么多年之后,我仍然在理解如何从绘图中获得我想要的东西方面遇到很多问题。在这种情况下,我只能用“可比较”的比例来可视化它们,这样人们就可以注意到大小和方向的差异。(注意:出于打印原因,我使用imcomplement的是在白色背景上获得黑线,而不是相反。)

最小的代码是这样的:

se = strel('disk', 300, 8);
seq = getsequence(se);

for k = 1:length(seq)
    subplot(5,2,k);
    imshow(imcomplement(seq(k).getnhood));
    axis equal
end

如您所见,它会导致次优的子图:

总而言之,问题是:是否有可能获得一个可视化(一个子图或 10 个不同的图),其中 strels 具有大致相同的比例,并且它们足够可见,以便读者可以了解这是如何分解有效吗?


[1]在 MATLAB 2014b 中,要获取结构元素的邻域,您必须使用该方法getnhood,而在较新的版本中,您只需访问该字段Neighborhood

4

0 回答 0