Usando Algodoo e Paint ho realizzato queste sei immagini monocromatiche 300 × 300 di quattro forme convenienti:
Questa classe di immagini ha le seguenti proprietà:
- Sono sempre 300 × 300 pixel, monocromatici (solo bianco e nero) e hanno esattamente quattro regioni bianche che corrispondono a un quadrato, un cerchio, un triangolo e un ingranaggio.
- Le forme non si sovrappongono e non si toccano, né toccano il bordo dell'immagine né vanno oltre i limiti.
- Le forme hanno sempre le stesse dimensioni, ma possono essere ruotate e posizionate in qualsiasi modo.
(Le forme hanno anche aree uguali, anche se quando rasterizzate in questo modo è improbabile che il loro numero di pixel sia esattamente equivalente.)
Sfida
Scrivi il programma o la funzione più breve possibile che contiene il nome file di tale immagine e trasforma tutti i pixel bianchi ...
- rosso
(255, 0, 0)
se sono nella piazza. - blu
(0, 0, 255)
se sono nel cerchio. - verde
(0, 255, 0)
se sono nel triangolo. - giallo
(255, 255, 0)
se sono nella marcia.
per esempio
Dettagli
Il programma dovrebbe funzionare in modo efficace per tutte le possibili immagini di input. (Verranno immesse solo immagini monocromatiche valide 300 × 300). Le sei immagini che ho fornito sono solo esempi, è possibile che non sia possibile codificare il loro output nel programma.
Non è possibile utilizzare librerie o funzioni di computer vision, integrate o esterne. Il punto è farlo usando le tue operazioni a livello di pixel. È possibile utilizzare librerie di immagini che consentono semplicemente di aprire e modificare le immagini (ad esempio PIL per Python).
È possibile utilizzare qualsiasi formato di file immagine senza perdita comune per l'input e l'output purché si aderisca alla combinazione di colori.
È possibile includere il nome file dell'immagine come argomento di funzione, da stdin o dalla riga di comando. L'immagine di output può essere salvata in un nuovo file, nello stesso file o semplicemente visualizzata.
punteggio
Vince l'invio con il minor numero di byte . Posso testare gli invii con immagini aggiuntive per determinarne la validità.