Non conosco Mathematica. . . peccato. Ma mi piace la risposta sopra, per la maggior parte.
Ancora c'è un difetto principale basandosi sulle strisce solo per raccogliere la risposta (io personalmente non ho un problema con una regolazione manuale). C'è un esempio (elencato da Brett Champion, qui ) presentato che mostra che, a volte, rompono il modello della camicia. Quindi diventa uno schema più complesso.
Proverei un approccio di forma id e colori, insieme a relazioni spaziali. Proprio come il riconoscimento facciale, potresti cercare motivi geometrici a determinati rapporti l'uno dall'altro. L'avvertenza è che di solito una o più di quelle forme sono occluse.
Ottieni un bilanciamento del bianco sull'immagine e rosso un bilanciamento del rosso dall'immagine. Credo che Waldo abbia sempre lo stesso valore / tonalità, ma l'immagine potrebbe provenire da una scansione o da una cattiva copia. Quindi fai sempre riferimento a una gamma di colori che Waldo è in realtà: rosso, bianco, marrone scuro, blu, pesca, {colore scarpa}.
C'è un modello di camicia e anche pantaloni, occhiali, capelli, viso, scarpe e cappello che definiscono Waldo. Inoltre, rispetto ad altre persone nell'immagine, Waldo è dalla parte magra.
Quindi, trova persone a caso per ottenere l'altezza delle persone in questa immagine. Misura l'altezza media di un mucchio di cose in punti casuali nell'immagine (un semplice contorno produrrà un bel po 'di persone). Se ogni cosa non rientra in una deviazione standard l'una dall'altra, per ora vengono ignorate. Confronta la media delle altezze con l'altezza dell'immagine. Se il rapporto è troppo elevato (ad es. 1: 2, 1: 4 o similmente vicino), riprovare. Eseguire 10 (?) Volte per assicurarsi che i campioni siano tutti abbastanza vicini tra loro, escludendo qualsiasi media al di fuori di una deviazione standard. Possibile in Mathematica?
Questa è la tua taglia Waldo. Walso è magro, quindi stai cercando qualcosa di 5: 1 o 6: 1 (o qualsiasi altra cosa) ht: wd. Tuttavia, questo non è sufficiente. Se Waldo è parzialmente nascosto, l'altezza potrebbe cambiare. Quindi, stai cercando un blocco di rosso-bianco che ~ 2: 1. Ma ci devono essere più indicatori.
- Waldo ha gli occhiali. Cerca due cerchi 0,5: 1 sopra il rosso-bianco.
- Pantaloni blu. Qualsiasi quantità di blu alla stessa larghezza a qualsiasi distanza tra l'estremità del rosso-bianco e la distanza dai suoi piedi. Nota che indossa la camicia corta, quindi i piedi non sono troppo vicini.
- Il cappello. Rosso-bianco qualsiasi distanza fino a due volte la parte superiore della sua testa. Nota che deve avere i capelli scuri sotto, e probabilmente gli occhiali.
- Maniche lunghe. rosso-bianco ad un certo angolo rispetto al rosso-bianco principale.
- Capelli scuri.
- Colore della scarpa. Non conosco il colore.
Ognuno di quelli potrebbe applicarsi. Questi sono anche controlli negativi contro persone simili nella foto - ad esempio, # 2 nega di indossare un grembiule rosso-bianco (troppo vicino alle scarpe), # 5 elimina i capelli di colore chiaro. Inoltre, la forma è solo un indicatore per ciascuno di questi test. . . il solo colore entro la distanza specificata può dare buoni risultati.
Ciò restringerà le aree da elaborare.
La memorizzazione di questi risultati produrrà una serie di aree che dovrebbero contenere Waldo. Escludere tutte le altre aree (ad esempio, per ciascuna area, selezionare un cerchio grande il doppio della dimensione media della persona), quindi eseguire il processo che @Heike ha disposto rimuovendo tutto tranne il rosso, e così via.
Qualche idea su come codificare questo?
Modificare:
Pensieri su come codificare questo. . . escludi tutte le aree tranne Waldo in rosso, scheletri le aree rosse e potale in un unico punto. Fare lo stesso per Waldo capelli castani, pantaloni Waldo blu, colore scarpe Waldo. Per il colore della pelle Waldo, escludi, quindi trova il contorno.
Quindi, escludere non rosso, dilatare (molto) tutte le aree rosse, quindi scheletrare e potare. Questa parte fornirà un elenco di possibili punti centrali di Waldo. Questo sarà il marker per confrontare tutte le altre sezioni di colore di Waldo.
Da qui, usando le aree rosse scheletrate (non quelle dilatate), conta le linee in ciascuna area. Se c'è il numero corretto (quattro, giusto?), Questa è sicuramente una possibile area. Altrimenti, suppongo che lo escluda (in quanto centro Waldo ... potrebbe essere ancora il suo cappello).
Quindi controlla se c'è una forma del viso sopra, una punta di capelli sopra, i pantaloni puntano sotto, le scarpe sotto e così via.
Nessun codice ancora - ancora leggendo i documenti.