用MATLAB进行图像处理

图像处理概念、算法和MATLAB

峰值、峰值滤波和灰度加权质心

今天,我将继续我最近的主题:思考图像中的山峰。当我写第一个的时候( 19日- 8月- 2021 ),我没有意识到它会变成一个系列。这可能是最后一次了——但不能保证!
我以前的文章( 17 - 9 - 2021 )是基于一维的例子。今天的帖子集中在一个图片的例子(在2-D),它连接到使用 regionprops 计算峰值的灰度加权质心。我还会讲一些三维曲面的可视化,只是为了好玩。这是今天的图片:
url =“https://blogs.mathworks.com/steve/files/snowflakes2.png”
一个= imread (url);
imshow (A)
我想看看我们能不能把注意力集中在算法上 白色点点事情 (这是我在工程学院学到的一个专业术语)。首先,让我们试着计算 区域最大值
A_regmax = imregionalmax(一个);
imshow (A_regmax)
乍一看,确实如此 看起来像我要找的东西。我们来看看这是怎么回事。
A_regmax_overlay = imoverlay (A_regmax,“绿色”);
imshow (A_regmax_overlay)
我想仔细看看一个白色的斑点。
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”
甘氨胆酸集(YDir =“反向”
视图(-35,45)
camlight
持有
第二种方法是返回到2-D,但是使用一个非常放大的视图,将实际的像素值叠加在单个像素上。为了完成这个任务,我使用了 图像查看器 像素区域的工具 .下面是像素区域工具的屏幕截图。我已经用区域最大值的位置注释了屏幕截图。
使用任何一种技术,您都可以了解到,其中几个最大值位置只是小的、无趣的波动。
正如我在前几篇文章中讨论的,您可以使用 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])
我想以一个连接来结束 regionprops 函数。这个函数最常用于二值图像输入,它计算二值图像中物体(连接组件)的各种几何属性。但你也可以同时提供灰度图像。有了这些额外的信息,您可以计算其他属性。这里,我感兴趣的是 加权质心 检测到的各种峰。原始图像像素值将被用作权重。下面是如何做到这一点:
道具= regionprops (“表”B_regmax,,“WeightedCentroid”
道具= 99×1表
WeightedCentroid
1 1.6702 24.6139
2 2.4948 43.3596
3. 1.4239 97.7269
4 14.5813 52.3127
5 20.5567 100.2771
6 28.5663 89.2373
7 29.9773 18.0773
8 31.1731 50.3474
9 41.2062 2.7718
10 45.1645 39.6400
11 44.1222 25.3352
12 43.9098 67.8786
13 44.8320 103.4289
14 50.9091 16.5648
这是一种可视化结果的方法:
imshow (A)
持有
情节(props.WeightedCentroid (: 1) props.WeightedCentroid (:, 2),...
线型=“没有”标志=“o”MarkerEdgeColor =“y”...
MarkerFaceColor =“b”
持有
轴([225 315 30 60])
标题(“灰度加权质心”
|
  • 打印
  • 发送电子邮件

コメント

コメントを残すには,ここをクリックしてMathWorksアカウントにサインインするか新しいMathWorksアカウントを作成します。