Sto cercando di sviluppare un'applicazione per bambini per iPhone che sia in grado di disegnare personaggi sullo schermo con un tocco e voglio sapere come abbinare il personaggio disegnato con il buon carattere dell'alfabeto. Come confronterò le due forme (disegno ed esistente) Qualche idea ?? un po 'di codice?disegno su iphone
risposta
Wow, questo sembra un compito difficile. Una possibilità che mi viene in mente sarebbe quella di usare una macchina vettoriale di supporto.
1.) Generare un'immagine del disegno e "vettorializzare" associando i vettori al percorso che l'utente ha disegnato.
2.) È necessario confrontare i vettori di supporto. Quello che vorrei fare è implementare una "domanda di formazione". Lascia che alcuni bambini disegnino (ad esempio 10 volte un A, 10 volte un B, ecc.), Metti i vettori in un database e li usi come vettori di supporto.
3.) È necessario un algoritmo di valutazione che valuta il disegno dell'utente confrontandolo con i vettori di supporto (questa potrebbe essere la parte più interessante di esso). Potrei pensare di misurare le distanze dei vettori di supporto che iniziano e terminano con i vettori disegnati. La svm con la distanza più bassa è la lettera che prendi. Quindi potresti introdurre una distanza che è il "bordo" e prendere tutti i disegni utente sopra questo bordo come non riconosciuti.
Un secondo approccio potrebbe essere la generazione di immagini con le lettere (ad esempio sfondo bianco e lettera nera (non anti-alias)). Si genera nuovamente un'immagine dell'utente che si disegna e si ridimensiona all'immagine per confrontarla, cercando di "sovrapporla" esattamente. Quindi contate i pixel neri che corrispondono alle due immagini e prendete la lettera con il maggior numero di corrispondenze.
Ma, dal momento che ho implementato qualcosa di simile, posso dire che l'approccio svm è più soddisfacente in quanto è possibile aggiungere vettori di supporto se il risultato non è abbastanza buono. La quintessenza è sicuramente il tuo algoritmo di valutazione.
Sembra quasi un paio di settimane di lavoro.
EDIT: Da questo campo interessante ho fatto qualche ricerca e ho trovato una tesi sul riconoscimento della calligrafia. Dai un'occhiata a questo: http://risujin.org/cellwriter/. In pratica descrive l'approccio svm che ho menzionato e fornisce alcuni algoritmi che potrebbero aiutarti.
+1: approccio fresco .. settimane di * fulltime * lavoro :) – iwasrobbed
È sempre possibile utilizzare Gesture Recognition ... ma è piuttosto difficile per uno scenario personalizzato come questo.
Altrimenti potresti trovare qualcosa nello Quartz che farà almeno parte di questo per te. Mi interessa vedere come lo risolvi .. sembra una strada piuttosto difficile/interessante.
Using GLGestureRecognizer è possibile creare un catalogo e calcolerà una metrica tra una matrice di punti di input rispetto a un "alfabeto" che si predefinisce.
GLGestureRecognizer è un Objective-C attuazione $ 1 Unistroke Recognizer, un semplice algoritmo di riconoscimento dei gesti (vedi Crediti di seguito). È reso disponibile qui in il modulo di un progetto di applicazione di iPhone . È stato implementato sul corso di un paio di serate nel tardo aprile 2009 da Adam Preble.
Un progetto iPhone dimostrativo (Gestures.xcodeproj) è fornito; a La sottoclasse UIView riceve gli eventi di tocco e li invia alla classe GLGestureRecognizer mentre disegna il percorso toccato in bianco. volta che il gesto è completato, il gesto ricampionata è mostrato in verde, il suo centro nel punto rosso, insieme con il nome della corrispondenza migliore, punteggio (più basso è meglio), e il gesto orientamento. Nell'esempio viene utilizzata una dimensione di esempio di 16 punti , che sembra essere adeguata per forme molto semplici .
Cose fantastiche !! – thatsdisgusting
molto bello, ricrea i tuoi gesti abbastanza bene. potrebbe essere facilmente utilizzato per un alfabeto – iwasrobbed
- 1. Disegno grafica personalizzata su iPhone: CALayer vs CGContext
- 2. Disegno di una linea in iPhone/iPad
- 3. Disegno punti LAT/su un'immagine
- 4. Disegno su telaImmagine ridimensionamento
- 5. Disegno rettangolo su JPanel
- 6. Generazione grafica su iPhone
- 7. Disegno su una vista zoomabile
- 8. Disegno su tela e display Retina: fattibile?
- 9. Come salvare e caricare le linee del disegno iphone SDK
- 10. Disegno di un percorso in MapKit in iPhone SDK
- 11. Graphics2D: disegno nero su bianco?
- 12. Disegno su un'immagine usando Raphael.js
- 13. Disegno SVG su tela Kivy
- 14. Html5 disegno su telaImmagine allungato
- 15. Disegno grafico Haskell su Windows
- 16. Disegno in modo incrementale in un UIView (iPhone)
- 17. L'istogramma del disegno richiede più precisione in iPhone
- 18. Il disegno del testo di CGContext non è scalabile su iPhone 4
- 19. L'ombra di disegno con Quartz è lenta su iPhone e iPad. Un altro modo?
- 20. disegno collaborativo/disegno dal vivo
- 21. Problemi che rendono opaco UIImageView su iPhone
- 22. Drag and drop + disegno personalizzato su Android
- 23. L'efficienza del disegno su tela per android
- 24. Effetti di disegno professionale su tela
- 25. Disegno su tela e salvataggio immagine
- 26. Disegno di un SimpleWeightedGraph su un JPanel
- 27. rettangolo di disegno su tela Android
- 28. Indicazioni di disegno su Google Maps
- 29. Applicazione di disegno su iPad con OpenGL
- 30. disegno 3D su Canvas con HTML + JS
Hai trovato la soluzione? – PVCS