2011-11-23 23 views
7

Ho trovato contorni su due immagini con lo stesso oggetto e voglio trovare spostamento e rotazione di questo oggetto. Ho provato con le caselle di delimitazione ruotate di questi contorni e quindi i suoi angoli e punti centrali, ma le rotazioni delle caselle di delimitazione non indicano correttamente la rotazione del contorno perché è la stessa per gli angoli a + 0, a + 90, a + 180 ecc. gradi. È un altro buon modo per trovare la rotazione e lo spostamento dei contorni? Forse qualche uso di carena convessa, difetti di convessità? Ho letto in Learning OpenCv sulla corrispondenza dei contorni, ma non ha aiutato. Qualcuno potrebbe dare qualche esempio?Contorni corrispondenti - individuazione spostamento contorni

// edit: Forse c'è un modo per usare qualcosa di simile alle catene di freeman per questo? Ma non riesco a capire l'algoritmo al momento. Creare catene con angoli tra il punto di sequenza e controllare la corrispondenza di sequenza non funziona bene ...

+0

Potrebbe essere meglio su dsp.stackexchange.com – endolith

risposta

3

Se l'oggetto presenta difetti di convessità, è possibile scegliere un difetto, creare un vettore dal centroide del primo contorno al centroide di questo difetto. Quindi è possibile controllare i difetti nel secondo contorno e far combaciare quello che si è usato in precedenza.Ancora un vettore dal centroide del contorno al centroide del difetto corrispondente.

Da questo si ottengono 2 segmenti (vettori) dai quali è possibile ottenere uno spostamento e una rotazione.

+0

Ma mi chiedo se sarà efficace per tutti i tipi di contorni? Ad esempio, per rilevare forme molto semplici come quadrate ecc. – krzych

+0

Ecco perché ho detto che se ha dei difetti, se gli oggetti sono quadrati o cerchi o altre forme di base sarà necessario un altro metodo. – Adrian

Problemi correlati