
Описываемый здесь проект направлен на демонстрацию возможности вывода цветного изображения на монохромный (чёрно-белый) дисплей. Для достижения этой непростой цели планировалось использовать фильтр Байера, распечатанный на простой ацетатной плёнке с помощью струйного принтера. В эксперименте предполагалось, что наложение фильтра на экран монитора позволит получить цветное изображение в виде мозаики. Идея проекта возникла из интереса к воспроизведению эффекта автохрома, где цветные фильтры из крупинок крахмала накладываются на чёрно-белую фотопластинку для получения цветного изображения. Для анализа структуры дисплея был использован USB-микроскоп с увеличением в 500 раз. Исследование показало, что каждый пиксель чёрно-белого ЖК-дисплея состоит из трёх групп светодиодов в форме “<“. Далее был создан PDF-файл с узором Байера и размерами 433,1 мм × 324,8 мм. Разрешение монитора составляет 2048×1536, и предполагается, что высота и ширина пикселей одинаковы.

В качестве примера приведен фрагмент созданного PDF-файла. Например, голубой элемент фильтра должен соответствовать двум × двум пикселям чёрно-белого монитора.

Я создал 3 pdf:
- bayer_1.pdf – каждый элемент обозначен 1 пикселем дисплея.
- bayer_2.pdf – каждый элемент обозначен 2×2 пикселями дисплея (эта ацетатная плёнка использовалась в видео).
- bayer_4.pdf – каждый элемент обозначен 4×4 пикселями дисплея.
Вот так выглядит ацетатная плёнка с распечатанным узором Байера:

Вот ч/б изображение, разбитое на мозаику, полученное из цветного:

Как это работает
Берём пиксель с цветного изображения. Синий пиксель превращается в четыре серых элемента. Накладываем на него ацетатную плёнку с узором Байера.
Как видите, эффект получился довольно слабый, однако цвета воздушных шаров различить можно.

Видео эффекта применения ацетатной плёнки
Ознакомьтесь с демонстрацией этого эффекта на видеоролике:
Изображения фильтра Байера 2×2 под микроскопом
Я попытался сделать такой фильтр, в котором квадратики одного цвета закрывают 2×2 пикселя монитора.
Шахматный порядок
По совету знакомого я вывел на монитор изображение в виде шахматного узора, и оказалось, что одиночный пиксель монитора состоит из трёх субпикселей.
На следующем фото показаны одиночные пиксели, монитор стоит в ландшафтном режиме, и ориентация изображения корректна.
1×1

2×2

Микроскоп с микрометром
Я использовал шахматный узор 2×2 и микрометр от микроскопа с шагом в 0,01 мм. По первоначальным расчётам я предположил, что размеры каждого белого/чёрного блока должны составить 0,42 мм × 0,42 мм, что примерно совпало с измерениями.
Было тяжело одновременно наводиться на пиксели и фокусировать изображение. Я использовал микрометр, повёрнутый вверх ногами, чтобы распечатка была ближе к пикселям, но у микроскопа получилось очень маленькое фокусное расстояние.


Использование микрометра в вертикальной ориентации, для измерения размера шахматных квадратов.

Я обнаружил, что микрометр проще использовать для калибровки микроскопа, а не как направляющую. Я сделал фото микрометра с увеличением в 500 раз, и написал простой скрипт, определяющий местоположение линий и измеряющий общую длину микрометра на 1 мм. Получилось, что на 1 мм умещается 1241,5 пикселей.

Используя первоначальные вычисления, ширину панели и количество пикселей, я получил размер пикселя в 0,21 мм × 0,21 мм.
0.21147460937*1241.5 = 262.5 = 263 пикселя в высоту и ширину.

Возможные улучшения
Интересно, можно ли улучшить этот эффект, измерив точную высоту и ширину пикселей под микроскопом, и использовав эту информацию для печати на плёнке.
Также важным моментом является выравнивание, нужно подумать над тем, как это улучшить — возможно, для этого тоже нужно использовать микроскоп.
Следующее фото показывает увеличенный результат печати на плёнке. Мне стало интересно, можно ли улучшить результат при помощи другой технологии переноса изображения на плёнку.

Поэтому я изготовил фильтр при помощи технологии печати на прозрачной плёнке от Kodak под названием Duraclear. И вот результат на видео:
Автор: Вячеслав Голованов
Источник: https://habr.com/

