PDA

View Full Version : C# XNA riconoscimento parti di immagini


Luxxa
21-12-2011, 09:44
Ciao ragazzuoli.. non sono nuovo a C#, ma lo sono a XNA e sopratutto la parte di algoritmi di riconoscimento di immagini e quant'altro, è un argomento a me, purtroppo, sconosciuto.

sto facendo un nuovo giochino per il wphone.. vado subito al dunque..

ho un immagine, in quest'immagine grande 2048x2048 ci sono delle sagome, vorrei poter riconoscere ciascuna di questa sagoma come se fosse un'unica immagine, in modo da poterci fare degli effetti, come del glow e altro.

io avevo pensato di fare

1) N immagini grandi 2048x2048 per ogni sagoma con resto trasparente
2) caricare N immagini come texture separate ( alla fine risulterà esattamente come l'immagine iniziale )


in questo modo dovrebbe risultare facile riconoscere ogni sagoma, visto che il resto è trasparente.. no?


avete idee migliori?

wingman87
21-12-2011, 10:09
Ci sei quasi, l'unico grosso appunto che posso farti è che è inutile usare immagini 2048x2048 per sagome più piccole. Mantieni le immagini di dimensioni più contenute possibile, risparmierai tempo e memoria. Un altro modo è lasciarle tutte nella stessa immagine e poi annotare da qualche parte le posizioni e dimensioni di ogni sotto-immagine in modo da poterle ricavare e disegnare separatamente senza creare altre texture. Quest'ultima tecnica risulta particolarmente performante.

Luxxa
21-12-2011, 10:59
l'idea di lasciarle tutte a 2048x2048 è perchè così mantenevano esattamente la loro posizione, un pò come un collage! e non avevo bisogno di posizionarli.. anche perchè queste sagome si devono incastrare perfettamente...


il tuo secondo modo intendi, caricare un png con N sagome disordinate, e poi ordinarle via codice? potresti spiegarti meglio?

-MiStO-
21-12-2011, 11:19
praticamente hai una sola immagine con tutto dentro
per ogni elemento memorizzi il pixel di start e il pixel di fine(oppure le dimensioni dei lati, a scelta): per recuperare l'elemento recuperi la porzione di immagine compresa tra i due valori definiti

Luxxa
21-12-2011, 12:15
ma come faccio a recuperarli, queste sagome sono perfettamente discontinue come forme, cioè fosse un quadrato ok.. ma così è un pò dura.. no?

wingman87
21-12-2011, 14:31
Devi fare in modo che ogni sotto-immagine sia inscrivibile in un rettangolo non sovrapposto alle altre sotto-immagini.