Cluster pixels in Binary Image from 2D-Histogram Data

3 visualizaciones (últimos 30 días)
Timo Schmid
Timo Schmid el 18 de Nov. de 2020
Comentada: Timo Schmid el 23 de Nov. de 2020
What I am trying to achieve is to decompose a stl-model into sub-volumes based on the corresponding surface normals (or check if this is somehow possible or can be combined with other methods).
First I created a 2D-Histogram in Matlab based on the orientation of surface normals of a STL-File (Figure A, attached PNG).
For further processing I then transformed the Histogram data to a binary image. Now I am trying to cluster the binary data to achieve clusters like in figure C.
But best I can do for now is creating clusters based on the direct connectivity of the pixels (figure B) and I can't think of an approach to achieve this.
Maybe someone could give me a hint or algorithm to achieve the results like seen in figure C?
Thanks in advance!

Respuestas (1)

Ameer Hamza
Ameer Hamza el 18 de Nov. de 2020
You can use regionprops(): https://www.mathworks.com/help/images/ref/regionprops.html to get each white region in your image. Then you will need to check the difference between x and y coordinates of region-centers to get the type of clustering you want.
  1 comentario
Timo Schmid
Timo Schmid el 23 de Nov. de 2020
I managed to cluster another histogram using DBScan-Function (delivered the best results) which you can see on the right (attached picture). For the right histogram it works fine.
But I can't manage to cluster along x/y direction in the left one because of the intersections... Any ideas on how to approach this?

Iniciar sesión para comentar.

Categorías

Más información sobre Histograms en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by