2010-08-24 5 views
0

J'utilise la fonction regionprop dans matlab pour obtenir MajorAxisLength d'une image. Je pense logiquement que ce nombre ne devrait pas être supérieur à sqrt (a^2 + b^2) dans lequel a abd b sont la largeur et la hauteur de l'image. mais pour mon image c'est. Mon image en noir et blanc contient un cercle noir au centre de l'image. Je pense que c'est étrange. Quelqu'un peut-il m'aider?que signifie la propriété MajorAxisLength dans la fonction matlab regionprop?

Merci.

+4

jeter un oeil à cette question: http://stackoverflow.com/questions/1711784/computing-object-statistics-from-the-second-central-moments – Amro

Répondre

1

Si vous regardez le code de regionprops (sous-fonction ComputeEllipseParams), vous voyez qu'ils utilisent le second moment pour estimer le rayon de l'ellipsoïde. Cela fonctionne très bien pour les caractéristiques en forme d'ellipsoïde, mais pas très bien pour les caractéristiques avec des trous. Le deuxième moment augmente si vous supprimez des pixels autour du centroïde (ce qui est, btw, pourquoi ils font des poutres en I). Ainsi, plus le 'trou' au milieu de votre image est grand, plus le rayon ellipsoïde apparent est grand.

Dans votre cas, il est préférable d'utiliser la propriété extrema de regionprops et de calculer le plus grand rayon à partir de là.

Questions connexes