【发布时间】:2010-05-05 22:40:08
【问题描述】:
我正在尝试在 MATLAB 中进行顶帽过滤。 imtophat 函数看起来很有希望,但我不知道如何使用它。我以前没有很多使用 MATLAB 的工作。我试图在我的二维数组中找到几个像素宽的小点,它们是局部最大值。
【问题讨论】:
标签: matlab image-processing signal-processing
我正在尝试在 MATLAB 中进行顶帽过滤。 imtophat 函数看起来很有希望,但我不知道如何使用它。我以前没有很多使用 MATLAB 的工作。我试图在我的二维数组中找到几个像素宽的小点,它们是局部最大值。
【问题讨论】:
标签: matlab image-processing signal-processing
我认为你在理解如何使用 STREL 方面比 IMTOPHAT 有更多的问题。后者可以被描述为简单的阈值,但是每个结构元素,而不是整个图像。
下面是另一个使用 STREL 和 IMTOPHAT 的好例子: http://www.mathworks.com/matlabcentral/fx_files/2573/1/content/html/R14_MicroarrayImage_CaseStudy.html
Steve Eddins 博客上的这一系列帖子可能对您有用: http://blogs.mathworks.com/steve/category/dilation-algorithms/
【讨论】:
tophat 基本上是一个“打开”过程,然后从原始图像中减去结果。我在这里找到的关于打开的最好和最有用的解释:
http://homepages.inf.ed.ac.uk/rbf/HIPR2/morops.htm
“打开的效果可以很容易地看到。想象一下 结构元素并在每个前景内滑动它 区域,而不改变其方向。所有像素可以 由结构元素覆盖,结构元素为 完全在前景区域内将被保留。然而,所有 结构元素无法到达的前景像素 没有部分移出前景区域将被侵蚀 离开。”
【讨论】:
imtophat 上的文档有一个示例 .. 你试过了吗?以下图片来自 MATLAB 文档。
I = imread('rice.png');
imshow(I)
se = strel('disk',12);
J = imtophat(I,se);
figure, imshow(J,[])
(图片来源:mathworks.com)
(图片来源:mathworks.com)
【讨论】: