A function to find peaks (brightest pixels in a grayscale image) ?

7 次查看(过去 30 天)
Hi,
Is there any function as an alternative to FastPeakFind() to find brightest pixels in a grayscale image.
The problem of the FastPeakFind() function is that it can not find peaks correctly if they are piled. Since, FastPeakFind() function assumes that 'peaks are sparse'. So, even if we change the threshold value, this function can only detect peaks if they are separated. If there is a piled peak then this function can not show all pixels under the peak (it only shows ONE pixel for this kind of peaks. Therefore, we can not find correct number of bright pixels at a piled peak region.
Is there any alternative to this function ? I want to find number of brightest pixels and density of brightest regions in a grayscale image
Thanks

回答(1 个)

Image Analyst
Image Analyst 2016-1-11
See if the function imregionalmax() will do what you want. It finds local maxima and gives you a binary image indicating their location.
BW = imregionalmax(I) returns the binary image BW that identifies the regional maxima in I. Regional maxima are connected components of pixels with a constant intensity value, and whose external boundary pixels all have a lower value. In BW, pixels that are set to 1 identify regional maxima; all other pixels are set to 0. By default, imregionalmax uses 8-connected neighborhoods for 2-D images and 26-connected neighborhoods for 3-D images. For higher dimensions, imregionalmax uses conndef(ndims(I)),'maximal').
  5 个评论
Maitham
Maitham 2017-1-21
Image Analyst. Thank you very much for your answer. I have made a new question about Strehl ratio: https://www.mathworks.com/matlabcentral/answers/321398-strehl-ratio-for-a-point-source-image
Very kind regards. Maitham

请先登录,再进行评论。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by