Проект «Радуга» – попытка показать цветное изображение на чёрно-белом мониторе

в 11:58, , рубрики: мозаика, периферия, Работа с видео, фильтр Байера, черно-белый

Целью данного проекта было вывести цветное изображение на чёрно-белый монитор путём наложения на экран распечатанного на ацетатной плёнке (на струйном принтере) фильтра Байера. Цветное изображение получается как мозаика.

Я купил на eBay ч/б монитор Eizo для просмотра ч/б фотографий, и мне стало интересно, смогу ли я воспроизвести эффект типа автохрома, в котором цветные фильтры из крупинок крахмала накладываются на ч/б фотопластинку, давая цветное изображение.

На фото ниже дано увеличенное дешёвым USB-микроскопом в 500 раз изображение пикселей, из которых состоит ч/б ЖК-дисплей. Сначала я подумал, что каждый пиксель составлен из 4 субпикселей, но потом пришёл к выводу, что каждый пиксель состоит из трёх групп светодиодов в форме < (см. далее).

Проект «Радуга» – попытка показать цветное изображение на чёрно-белом мониторе - 1


Я сделал pdf с узором Байера и размерами 433,1 мм × 324,8 мм. Разрешение монитора равно 2048×1536, и я предположил, что высота и ширина у пикселей одинаковая.

Пример созданного pdf привожу ниже. К примеру, голубой элемент должны представлять 2×2 пикселя ч/б монитора.

Проект «Радуга» – попытка показать цветное изображение на чёрно-белом мониторе - 2

Я создал 3 pdf:

  • bayer_1.pdf – каждый элемент обозначен 1 пикселем дисплея.
  • bayer_2.pdf – каждый элемент обозначен 2×2 пикселями дисплея (эта ацетатная плёнка использовалась в видео).
  • bayer_4.pdf – каждый элемент обозначен 4×4 пикселями дисплея.

Вот так выглядит ацетатная плёнка с распечатанным узором Байера:

Проект «Радуга» – попытка показать цветное изображение на чёрно-белом мониторе - 3

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

Проект «Радуга» – попытка показать цветное изображение на чёрно-белом мониторе - 4

Как это работает

Проект «Радуга» – попытка показать цветное изображение на чёрно-белом мониторе - 5
Берём пиксель с цветного изображения. Синий пиксель превращается в четыре серых элемента. Накладываем на него ацетатную плёнку с узором Байера.

Судя по всему, мой монитор по умолчанию выводит изображение в портретном режиме. Чтобы переключить его в ландшафтный режим, на Linux я применил команду:

xrandr --output HDMI1 --rotate left

Какой получается эффект

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

Проект «Радуга» – попытка показать цветное изображение на чёрно-белом мониторе - 6

Видео эффекта применения ацетатной плёнки

Ознакомьтесь с демонстрацией этого эффекта на видеоролике, воспроизведённом со следующими параметрами:

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

Изображения фильтра Байера 2×2 под микроскопом

Я попытался сделать такой фильтр, в котором квадратики одного цвета закрывают 2×2 пикселя монитора.

Шахматный порядок

По совету знакомого я вывел на монитор изображение в виде шахматного узора, и оказалось, что одиночный пиксель монитора состоит из трёх субпикселей.

На следующем фото показаны одиночные пиксели, монитор стоит в ландшафтном режиме, и ориентация изображения корректна.

1×1

Проект «Радуга» – попытка показать цветное изображение на чёрно-белом мониторе - 7

2×2

Проект «Радуга» – попытка показать цветное изображение на чёрно-белом мониторе - 8

Микроскоп с микрометром

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

Было тяжело одновременно наводиться на пиксели и фокусировать изображение. Я использовал микрометр, повёрнутый вверх ногами, чтобы распечатка была ближе к пикселям, но у микроскопа получилось очень маленькое фокусное расстояние.

Проект «Радуга» – попытка показать цветное изображение на чёрно-белом мониторе - 9

Проект «Радуга» – попытка показать цветное изображение на чёрно-белом мониторе - 10

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

Проект «Радуга» – попытка показать цветное изображение на чёрно-белом мониторе - 11

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

Проект «Радуга» – попытка показать цветное изображение на чёрно-белом мониторе - 12

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

0.21147460937*1241.5 = 262.5

= 263 пикселя в высоту и ширину.

Проект «Радуга» – попытка показать цветное изображение на чёрно-белом мониторе - 13

Возможные улучшения

Интересно, можно ли улучшить этот эффект, измерив точную высоту и ширину пикселей под микроскопом, и использовав эту информацию для печати на плёнке.

Также важным моментом является выравнивание, нужно подумать над тем, как это улучшить — возможно, для этого тоже нужно использовать микроскоп.

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

Проект «Радуга» – попытка показать цветное изображение на чёрно-белом мониторе - 14

Поэтому я изготовил фильтр при помощи технологии печати на прозрачной плёнке от Kodak под названием Duraclear. И вот результат на видео:

Исходный код

Код для создания PDF и мозаичных изображений и видео

Автор: Вячеслав Голованов

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js