史蒂夫与MATLAB图像处理

图像处理的概念、算法和MATLAB

扩张algorithms-Introduction

在9月4日发布更新基于反馈短剑Luengo的评论。

今天我开始一个新的系列报道的一些概念基础算法进行形态学膨胀和侵蚀,这是非常相似的。大多数时候,当人们谈论图像扩张,他们的意思是扩张的形式,是一个局部最大值的操作上的每个像素的邻居。例如,下面是如何计算局部最大值,为每个图像像素与像素和八个邻国:

=魔法(5)
= 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19日21日3 11 18 25 2 9
se = 1 (3)
se = 1 1 1 1 1 1 1 1 1
B = imdilate (se)
B = 24 24 24 16 16 24 24 22日22日23日24日23日21日22日22 18 25 25 25 22 18 25 25 25 21

邻域像素的集合参与马克斯运营商形成一个形状称为结构化元素。结构化元素不一定是广场,如上所述。这是扩张和短,3象素行:

se = (1 1 1);B2 = imdilate (se)
B2 = 24 24 24 15 15 23日23日14 16 16 6 13 20 22 22 12 19日21日21日21日18 25 25 25 9

让我们考虑应该多长时间来计算膨胀。假设一个图像P像素,结构元素包含问邻居。计算输出特定像素涉及问内存读取和问的比较。因此,我们可能期望计算时间成正比。

我们可以尝试验证行为使用广场不同大小的结构元素。

%阅读在一个小样本图像和复制它1 k-by-1k%测试图像。我= repmat (imread (“rice.png”)、4、4);%测量扩张时代广场使用一组结构元素%范围从5-by-5到97 - 97。w = 5:4:97;%的数量的邻居,问每个构建元素% w ^ 2。我们猜测,运行时间将成比例% Q。Q = w。^ 2;%初始化向量包含记录时间。* = [];工作= w%,许多MATLAB用户熟悉for循环%以上构造。我将发送一个MATLAB与第一个t恤%的人与一个简短的这篇文章,添加了一个注释清楚,%和正确解释。se = strel((周,周));f = @ () imdilate(我,se);*时间(结束+ 1)= (f);结束情节(Q,次)ylim([0 1.5 *马克斯(次)])

情节看起来几乎不变,也许只是一个提示的增加与Q。

那么,imdilate计算膨胀比预期快吗?

这是本系列的主题。下次我们会在更深的挖掘。




使用MATLAB®7.6发表

|
  • 打印
  • 发送电子邮件

评论

留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。

Baidu
map