J'essaie de penser à la meilleure méthode pour détecter les rectangles dans une image. P>
Ma première pensée consiste à utiliser le transformation de Hough pour les lignes et sélectionner des combinaisons de lignes Lorsque vous avez deux lignes intersectées à la fois la partie inférieure et la partie supérieure par les mêmes deux lignes, mais cela ne suffit pas. p>
utiliserait un Détecteur de coin avec le travail de transformation de Hough? P>
3 Réponses :
Vérifiez /Samples/c/squares.c dans votre distribution OpenCV. Cet exemple fournit un détecteur carré et devrait être un bon départ. p>
Ma réponse ici s'applique également. < / p>
Je ne pense pas que cela existe actuellement une méthode simple et robuste pour détecter les rectangles dans une image. Vous devez faire face à de nombreux problèmes tels que les rectangles qui ne sont pas exactement rectangulaires, mais seulement des occlusions partielles, des changements d'éclairage, etc. P>
Une direction possible est de faire une segmentation de l'image, puis de vérifier la fermeture de chaque segment pour être un rectangle. Puisque vous ne pouvez pas faire confiance à votre algorithme de segmentation, vous pouvez l'exécuter plusieurs fois avec différents paramètres. p>
Une autre direction consiste à essayer d'installer paramétriquement un rectangle à l'image de telle sorte que la magnitude de gradient d'image le long du contour sera maximisée. P>
Si vous choisissez de travailler sur une approche paramétrique, remarquez que lorsque le moyen trivial de paramétrer un rectangle est par les emplacements de quatre coins, ce qui correspond à 8 paramètres, il existe quelques autres représentations nécessitant moins de paramètres. p>
Pour une simple forme géométrique, une transformation de Hough répond de ces points - pour quelque chose de plus complexe comme un visage que vous êtes exactement correct.
En fait, j'ai fait des travaux sur la détection de rectangles et j'ai rencontré ces problèmes. Évidemment, si vous travaillez avec des images synthétiques, la méthode Hough fonctionnera merveilleusement, mais si vous souhaitez vouloir trouver des rectangles "à l'état sauvage", c'est une histoire complètement différente.
Il y a une extension d'Hough qui peut être utile.
http://fr.wikipedia.org/wiki/generalised_hough_transform p>
En ne suffisant pas, vous voulez dire non efficacement, non? Cela dépend vraiment de votre demande - à moins que vous ne le faisiez pour une vidéo haute définition en temps réel, la transformation de Hough pourrait être suffisamment bonne.