The aim of this project was to display a colour image on a black and white monitor, by overlaying an acetate bayer filter over the monitor and mosaicing a colour image.
I obtained an Eizo B&W monitor from ebay, which I was intending for use viewing B&W photos and was curious if I could replicate an effect similar to Autochrome Lumière ( see wikipedia ) where they overlay colour filters over a B&W photographic plate, using starch grains, which creates a colour image.
The following image shows a 500x microscope image of the pixels that make up the B&W LCD display, taken using a very cheap USB microscope. It looks to me as if each pixel, is represented by 4 sub-pixel elements, please correct me if this appears not be the case.
A pdf was created of the bayer display, with the dimensions 433.1mm x 324.8mm. The monitor has a resolution of 2048×1536 and I assumed the pixels had the same width as height.
You can see an example of the pdf I created below, where for example a blue element, should be represented by 2×2 pixels from the B&W monitor.
I created 3 pdfs:
- bayer_1.pdf – each element, is represented by 1 pixel from the display
- bayer_2.pdf – each element, is represented by 2×2 pixels from the display (this is the acetate used in the video)
- bayer_4.pdf – each element is represented by 4×4 pixels from the display
The following image shows the printed acetate with the bayer pattern:
The following, is a B&W image with mosaicing applied from the colour image:
How it works
The monitor I am using seems to generally be used portrait, to make it landscape on linux:
xrandr --output HDMI1 --rotate left
Image of effect
As you can see the effect of my attempt is quite slight, but you can see in the centre the different colours of the balloons.
Video of effect
The effect is also demonstrated in the following video, with the following parameters:
mpv out.mkv --fullscreen --loop --brightness=10 --contrast=20
Microscope images of the bayer filter (2×2 scaling)
2×2 bayer filter, I tried to design it so that for example the ‘red’ square covers 2×2 pixels on the monitor
As suggested by Olivier, I’ve just created 2 chess board images. Olivier was correct that a single pixel consists of 3 sub-pixels 🙂
1×1 (the white patch is 1 pixel), monitor in landscape, image in correct orientation from microscope (left, towards left monitor, top, towards top of monitor)
I wonder if by measuring the exact pixel width/height under a microscope, if the effect could possibly be improved somewhat, as that information could be used when creating the acetate filter.
Alignment is also a key issue, I need to think of ways to improve that possibly using a microscope while aligning the acetate.
I’d be interested in other improvements I could make too!
The sourcecode to generate the PDFs for the acetate and the mosaiced images and videos is at: