2010-05-03 16 views
6

Fondamentalmente voglio trovare la posizione dei pixel di una piccola immagine all'interno di un'immagine grande. Ho cercato qualcosa di simile a questo ma non ho avuto fortuna.Trova la posizione dell'immagine all'interno di un'immagine più grande

+2

L'immagine piccola sarà una copia esatta, pixel per pixel, di una regione nell'immagine più grande? È piuttosto importante quando si seleziona l'algoritmo. – driis

risposta

0

Probabilmente si potrebbe usare il AForge Framework per fare qualcosa di simile. Offre una varietà di strumenti per l'elaborazione delle immagini. Forse potresti usare la loro estrazione di blob per estrarre blob, quindi confrontare questi blob con un'immagine memorizzata che hai e vedere se corrispondono.

0

Se le immagini sono uguali pixel per pixel, è possibile iniziare cercando un pixel che abbia lo stesso colore del pixel (0,0) nell'immagine piccola. Una volta trovato, confronta ciascun pixel nell'area che verrebbe coperta dalla piccola immagine. Se non ci sono differenze hai trovato la tua posizione. Altrimenti ricomincia cercando la corrispondenza pixel successiva (0,0).

0

Booyer-Moore la ricerca sembra una soluzione qui se si trattano i pixel come caratteri e si cerca una corrispondenza esatta. Molto più veloce della ricerca per pixel pure.

1

Dipende da quanto simili si desidera che il risultato corrisponda all'immagine della query. Se stai cercando di abbinare parti corrispondenti di diverse immagini fotorealistiche, dai un'occhiata alla pagina di Wikipedia di Feature detection. Quello che vuoi usare dipende dalla trasformazione che ci si aspetta da un'immagine per diventare l'altra.

Detto questo, se stai cercando una corrispondenza esatta pixel per pixel, una ricerca di forza bruta è probabilmente negativa. Può essere O(m^2*n^2) per un'immagine m*m utilizzata per cercare all'interno di un'immagine n*n. Utilizzando algoritmi migliori, può essere migliorato a O(n^2), lineare nel numero di pixel. Sottocampionare entrambe le immagini e fare un tipo di ricerca gerarchica potrebbe essere un buon approccio.

Problemi correlati