峰值、峰值滤波和灰度加权质心
我以前的帖子(
17 - 9 - 2021
)基于1-D实例。今天的帖子侧重于图像示例(在2-D中),它连接到使用
地区普通
来计算灰色加权的峰心。我还会添加一些三维表面可视化,只是为了好玩。以下是今天的图片:
url =“https://blogs.mathworks.com/steve/files/snowflakes2.png”;
a = imread(URL);
imshow(a)
我想看看我们是否可以在这些上专注于算法
白色点点事情
(这是我在工程学校学到的专业术语)。首先,让我们试着计算
区域最大值
.
a_regmax = imregionalmax(a);
imshow(a_regmax)
乍一看,那是
不
看起来像我要找的东西。我们来看看这是怎么回事。
a_regmax_overlay = imoverlay(a,a_regmax,“绿色”);
imshow(a_regmax_overlay)
我想特别是一个仔细观察一个白色的Blobby的事情。
imshow (A_regmax_overlay (30:47,263:285:))
其中一个,或者两个,看起来像是我们感兴趣的高峰。其他人呢?让我向你展示两种不同的方法来进一步探索。第一个是三维可视化,我们将图像像素值视为灰度表面的高度。下面的代码显示了该表面,然后将检测到的区域最大值显示为表面上方的蓝黄色圆点。
数字
A_cropped = (30:47,263:285);
A_regmax_cropped = A_regmax (30:47,263:285);
冲浪(a_cropped,Edgecolor =“没有任何”的)
Colormap(“灰色的”的)
灯光高洛德
daspect([1] 15日)
[y,x,〜] =查找(a_regmax_cropped);
z = a_cropped(a_regmax_cropped);
抓住在
plot3 (x, y, z + 1,线型=“没有任何”标志=“o”那...
markeredgecolor =“b”那...
MarkerFaceColor =“y”的)
包含(“X”的)
ylabel (“y”的)
SET(GCA,YDIR =“反向”的)
查看(-35,45)
露灯
抓住离开
使用任何一种技术,你都可以得到这样的想法:这些极大值位置中的一些只是小的,无趣的波动。
正如我在前面的文章中讨论的,你可以使用
h-maxima变换
过滤掉这些小峰值。
h = 75;
B = imhmax (h);
imshow(b(30:47,263:285))
b_regmax = imregionalmax(b);
imshow(b_regmax(30:47,263:285))
b_regmax_overlay = imoverlay(b,b_regmax,“绿色”);
imshow (B_regmax_overlay)
轴([225 315 30 60])
我想结束与之相关的
地区普通
功能。该函数最常使用二进制图像输入,并且它计算二进制图像中对象(连接组件)的各种几何特性。但您也可以同时提供灰度图像。通过该额外信息,您可以计算其他属性。在这里,我对此感兴趣
加权质心
探测到的各种峰。将原始图像像素值作为权重。以下是如何做到:
Props = RegionProps(“表”,b_regmax,a,“WeightedCentroid”的)
这是可视化结果的一种方法:
imshow(a)
抓住在
情节(Props.weightedcentroid(:,1),道具.weightedCentroid(:2),...
linestyle =“没有任何”,Marker =.“o”MarkerEdgeColor =“y”那...
MarkerFaceColor =“b”的)
抓住离开
轴([225 315 30 60])
标题(“灰度加权质心”的)
|
注释
要留下评论,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。