Projet "Rainbow" - une tentative d'afficher une image couleur sur un écran noir et blanc

Le but de ce projet était d'afficher une image couleur sur un écran noir et blanc en superposant un filtre Bayer imprimé sur un film d'acétate (sur une imprimante à jet d'encre) . L'image couleur est obtenue sous forme de mosaïque.



J'ai acheté un moniteur N / B Eizo sur eBay pour visionner des photos N / B, et je me suis demandé si je pouvais reproduire un effet de type autochrome dans lequel des filtres colorés en grains d'amidon sont appliqués sur une plaque photographique N / B, donnant une image couleur.



La photo ci-dessous montre une image agrandie 500 fois des pixels qui composent l'écran LCD noir et blanc avec un microscope USB bon marché. Au début, je pensais que chaque pixel était composé de 4 sous-pixels, mais je suis ensuite arrivé à la conclusion que chaque pixel se compose de trois groupes de LED sous la forme <(voir ci-dessous).





J'ai fait un pdf avec un modèle Bayer et des dimensions 433,1 mm x 324,8 mm. Le moniteur a une résolution de 2048x1536, et j'ai supposé que les pixels avaient la même hauteur et la même largeur.



Un exemple du pdf généré est donné ci-dessous. Par exemple, un élément bleu doit représenter un moniteur noir et blanc de 2x2 pixels.







J'ai créé 3 pdfs:



  • bayer_1.pdf - chaque élément est représenté par 1 pixel d'affichage.
  • bayer_2.pdf - chaque élément est désigné par 2x2 pixels d'affichage (ce film d'acétate a été utilisé dans la vidéo).
  • bayer_4.pdf - chaque élément est représenté par des pixels d'affichage 4x4.


Voici à quoi ressemble un film d'acétate avec un motif Bayer imprimé:







Voici une image en mosaïque n / b obtenue à partir de la couleur:







Comment ça fonctionne





Nous prenons un pixel d'une image couleur. Le pixel bleu se transforme en quatre éléments gris. Nous avons mis un film d'acétate avec un motif Bayer dessus.



Apparemment, mon moniteur s'affiche par défaut en mode portrait. Pour le passer en mode paysage, sous Linux, j'ai utilisé la commande:



xrandr --output HDMI1 --rotate left


Quel est l'effet



Comme vous pouvez le voir, l'effet est plutôt faible, mais les couleurs des ballons peuvent être distinguées.







Vidéo de l'effet de l'utilisation d'un film d'acétate



Découvrez une démonstration de cet effet dans la vidéo lue avec les paramètres suivants:



mpv out.mkv --fullscreen --loop --brightness=10 --contrast=20








Images de filtre Bayer 2 × 2 au microscope



J'ai essayé de faire un filtre dans lequel des carrés de la même couleur couvrent 2x2 pixels du moniteur.



Ordre des échecs



Sur les conseils d'un ami, j'ai affiché une image sous la forme d'un motif en damier sur le moniteur, et il s'est avéré qu'un seul pixel du moniteur se compose de trois sous-pixels.



La photo suivante montre des pixels uniques, le moniteur est en mode paysage et l'orientation de l'image est correcte.



1 × 1







2 × 2







Microscope avec micromètre



J'ai utilisé un motif en damier 2x2 et un micromètre d'un microscope par pas de 0,01 mm. De mes calculs initiaux, j'ai supposé que les dimensions de chaque bloc blanc / noir devraient être de 0,42 mm × 0,42 mm, ce qui coïncidait à peu près avec les mesures.



Il était difficile de viser les pixels et de mettre au point l'image en même temps. J'ai utilisé le micromètre à l'envers pour rapprocher l'impression des pixels, mais le microscope a une très petite distance focale.











Utilisation d'un micromètre dans une orientation verticale pour mesurer la taille des carrés en damier.







J'ai trouvé que le micromètre est plus facile à utiliser pour calibrer le microscope que comme guide. J'ai pris une photo du micromètre à un grossissement de 500x et j'ai écrit un script simple pour localiser les lignes et mesurer la longueur totale du micromètre de 1 mm. Il s'est avéré que 1241,5 pixels tiennent dans 1 mm.







En utilisant mes calculs initiaux, la largeur du panneau et le nombre de pixels, j'ai obtenu une taille de pixel de 0,21 mm x 0,21 mm.



0,21147460937 * 1241,5 = 262,5



= 263 pixels en hauteur et en largeur.







Améliorations possibles



Je me demande si cet effet peut être amélioré en mesurant la hauteur et la largeur exactes des pixels sous un microscope et en utilisant ces informations pour imprimer sur un film.



L'alignement est également important, vous devez réfléchir à la manière de l'améliorer - peut-être devez-vous également utiliser un microscope pour cela.



La photo suivante montre une impression agrandie sur film. Je me suis demandé s'il était possible d'améliorer le résultat avec une autre technologie de transfert d'images sur film.







J'ai donc créé le filtre en utilisant la technologie d'impression de transparence Duraclear de Kodak. Et voici le résultat sur la vidéo:







La source



Code pour créer des images et des vidéos PDF et mosaïques



All Articles