局部极大值,区域极大值,函数imregionalmax
最近的图像处理工具箱开发团队的算法讨论让我想起了我最初想要很久以前做的事情:解释
imregionalmax
以及一些相关操作。(我想我跑题了。)
对于此解释,我将使用以下示例图像:
P = sampleImage;
imshow (P)
请注意,此图像具有许多恒定值的环。人们可能会叫这些地区“Plateaus。”以下是像素值的横截面:
p256 = P(256年:);
情节(P256)
轴([1 500 0 300])
文本(250255“高原”,横向=“中央”,...
walltalignment =“底”)
文本(345204“高原”,横向=“中央”,...
walltalignment =“底”)
文本(415153“高原”,横向=“中央”,...
walltalignment =“底”)
文字(471,102,“高原”,横向=“中央”,...
walltalignment =“底”)
局部最大值
在图像处理中,a的通常定义
局部最大值
当且仅当一个像素大于或等于它的所有近邻时,它被认为是一个局部最大值。
利用图像膨胀法可以方便有效地求出所有的局部最大像素点。如果一个像素在膨胀后没有变化,那么该像素就是一个局部最大值。
Pd = imdilate (P(3、3));
local_maxima = (P == Pd);
imshow(local_maxima)
标题(“局部最大值(白色像素)”)
下面我们来看看横截面上的局部最大值:
情节(P256)
local_maxima_256 = local_maxima(256,:);
k =找到(local_maxima_256);
持有在
情节(k, p256 (k),“*”)
持有离开
区域最大值
让我们仔细看看这些停滞期,看看它们在重要方面有何不同。首先,这是中央圆盘平台横截面的特写:
情节(P256)
XLIM([175 325])
如果你想象自己站在那个高原的中间,你会意识到没有办法离开高原而不走下坡路。
接下来,让我们放大围绕中心磁盘的第一环的横截面:
情节(P256)
xlim(375年[315])
如果你站在这个平台的中间,那么你可以通过向下或向上移动来离开平台,这取决于你移动的方向。
现在让我们放大下一个戒指:
情节(P256)
xlim(440年[375])
你看到高原左侧的小滴点吗?这意味着你不能离开高原
没有下坡
.更大的向左趋势肯定是更高的,但首先你要往下走。
考虑到这些不同的平台导致我们对一个概念的正式定义称为
地区最大
:具有恒定值的像素的连接组件
h
(这是高原),每个像素的邻居,连接组件的值低于
h
(即,高原的每个相邻像素都是从中下坡的下坡)。
这就是
imregionalmax
计算。
功能imregionalmax
功能
imregionalmax
占用灰度映像,并以二进制掩码的形式返回所有区域最大值像素。这是功能从我们的样本图像产生的。我将在上面的局部最大值面罩并排展示它,以便于比较。
Regional_Maxima = ImregionalMax(P);
Tiledlayout(1,2)
nexttile
imshow(local_maxima)
标题(“最大值”)
nexttile
imshow (regional_maxima)
标题(“地区最大值”)
您可以看到只有中央磁盘和第二环(来自中心)被标记为区域最大值。
一般来说,如果你在图像中寻找峰值,如果你的图像中有高原,那么你最好寻找区域最大值而不是局部最大值。
然而
,区域最大值的位置可以非常敏感,即使是很小的,噪声的像素值变化。所以,我很快会写另一篇关于
H-Maxima变换
和功能
imhmax
和
imextendedmax
.
敬请关注!
实用功能
功能出= sampleImage
x = linspace (-100100501);
r = ampot(x,x');
= 0(大小(r));
戒指= 25:25:125;
% for k = 1:长度(环)
% out = out + tanh((rings(k) - abs(r))./2));
%结束
% out = out - 0.15*exp(-((r-54)/3).^2);
为k = 1:长度(环)
Out = Out + profile((rings(k) - r)/2);
结束
OUT = OUT - 0.15 *三角形(R-53);
= im2uint8 (mat2gray ());
结束
功能y =概要(x)
y = min(abs(x),1)。*符号(x);
结束
功能y =三角形(x)
y = max (1-abs (x), 0);
结束
|
コメント
コメントを残すには,ここをクリックしてmathworksアカウントにサインインするか新闻Mathworksアカウントを作品成します。