Effacer les filtres
Effacer les filtres

Cluster pixels in Binary Image from 2D-Histogram Data

4 vues (au cours des 30 derniers jours)
Timo Schmid
Timo Schmid le 18 Nov 2020
Commenté : Timo Schmid le 23 Nov 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!

Réponses (1)

Ameer Hamza
Ameer Hamza le 18 Nov 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 commentaire
Timo Schmid
Timo Schmid le 23 Nov 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?

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by