2010-05-24 2 views
5

Desidero creare un indicatore per il contrassegno. Ecco la descrizione:Qual è l'algoritmo migliore per individuare un punto in un file immagine?

  1. Il mio sistema utilizza la combinazione di colori in bianco e nero.
  2. Il foglio di riferimento ha un piccolo rettangolo nero su ciascun angolo e un ulteriore rettangolo nero piccolo, per determinare l'orientamento, vicino a uno dei rettangoli precedenti.
  3. La carta viene scansionata per produrre un'immagine (nel formato bmp, ad esempio).

Il primo passo è individuare questi cinque riferimenti nell'immagine quanto più efficienti possibile.

La mia idea di base è tracciare riga per riga e da sinistra a destra per ogni riga. Sembra molto lento, penso.

C'è un modo migliore per farlo?

Grazie in anticipo.

saluti,

Suugaku

+0

L'elaborazione delle immagini non è semplice come la corrispondenza del testo. Dipende in gran parte dall'immagine. Posso darti alcuni suggerimenti se mostri l'immagine. Anche se hai descritto l'immagine, è meglio guardarla. – claws

risposta

1

Si può iniziare con la ricerca in cui in genere si aspetta di trovare le immagini di riferimento. Puoi farlo mantenendo le statistiche su dove si trovavano prima. In particolare se hai due fotogrammi presi uno dopo l'altro, è probabile che i punti di riferimento non si siano spostati molto lontano.

Una volta individuati uno o più punti di riferimento, la posizione degli altri diventa fortemente vincolata in modo da poter fare una buona ipotesi su dove devono mentire gli altri. Ogni volta che trovi un nuovo punto fornisce più suggerimenti su dove possono essere i punti rimanenti.

Quindi è possibile iniziare utilizzando un po 'di congetture per trovare rapidamente i punti e tornare a una scansione riga per riga se ciò non riesce.

0

Una volta ho scritto un piccolo hack OCR per un cliente che ha stampato accidentalmente & tonnellate di fatture (letteralmente) e non ha tenuto traccia di quali fatture hanno già spedito o meno - fortunatamente tutte le fatture sono state scansionate e potrebbero essere monitorate tramite l'hack OCR ho scritto :). Basta vantarsi ...

La velocità non è un problema se si utilizza il metodo di istanza BitMap.LockBits() (http://www.bobpowell.net/lockingbits.htm). Quindi, tutto ciò di cui hai bisogno è un paio d'ore.