How to find the local maxima in a point cloud?

6 Ansichten (letzte 30 Tage)
okul
okul am 10 Feb. 2022
Beantwortet: Chris Rygaard am 2 Mär. 2022
Hi all,
I have a point cloud data (x,y,z) of two hills and I want to find the top points of these hills. Every row of the data matrix contains the x coordinate, y coordinate and z coordinate (height) of a point. How can I find these two top points? Any help will be pretty much appreciated.
Thanks in advance.

Akzeptierte Antwort

KSSV
KSSV am 10 Feb. 2022
Read about max.
  1 Kommentar
okul
okul am 11 Feb. 2022
Thank you for the suggestion. I already tried max but, I do not think it is the solution. I want to find the highest point of each hill and these points are apart from each other in the point cloud.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (3)

Chris Rygaard
Chris Rygaard am 21 Feb. 2022
I worked on a similar problem in which the data had an unknown number of peaks. The only solution I found was a brute-force search of each point and its 'neighbors':
(1) Select a radius, R, that defines the horizontal distance between a point an all of its 'neighbors' of interest. The exact value of R isn't critical, but it needs to be less than the (horizontal) distance between the peak and the valley between the peaks (for both peaks), and it needs to be large enough to consider neighbors on all sides.
(2) Search through all of the points. If a point has a higher z-value than all of its neighbors, then it's a peak.

Image Analyst
Image Analyst am 21 Feb. 2022

Chris Rygaard
Chris Rygaard am 2 Mär. 2022
I know OP already has an answer, but this looks incredibly relevant:
(just in case somebody asks this question in the future)

Community Treasure Hunt

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

Start Hunting!

Translated by