Я создал килопиксельную камеру, которая использует один фоторезистор для портретной съемки

Я создал килопиксельную камеру, которая использует один фоторезистор для портретной съемки
Я создал килопиксельную камеру, которая использует один фоторезистор для портретной съемки
Изображение
Изображение

Я Никлас Рой, и недавно я создал килопиксельную камеру под названием The Flying Pixel Portrait Camera. Это проект «сделай сам», в котором для съемки портретов используется один фоторезистор и видеопроектор.

Портретная камера Flying Pixel использует видеопроектор, один фоторезистор, Arduino и компьютер для фотографирования лиц людей. Проектор «сканирует» изображение, проецируя небольшой белый квадрат на лицо человека в совершенно темной камере.

Изображение
Изображение
Изображение
Изображение
Изображение
Изображение

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

Вот фотографии, сделанные с помощью «Портретной камеры Flying Pixel»:

Изображение
Изображение
Изображение
Изображение
Изображение
Изображение
Изображение
Изображение
Изображение
Изображение
Изображение
Изображение
Изображение
Изображение

Скорость сканирования изображений, показанных выше, была довольно низкой. Скорость ограничена частотой кадров проектора, поскольку можно проецировать только один пиксель и, следовательно, можно захватить за раз. Все лица сканируются со скоростью 30 пикселей в секунду, а поскольку каждое изображение имеет размер 5050 пикселей, на создание одной фотографии ушло 83 секунды.

Эта установка была построена из переработанных картонных коробок, которые я нашел в подвале художественной школы.

Изображение
Изображение

Вместо проецирования белого пикселя можно проецировать один за другим красный, зеленый и синий пиксели. Таким образом, можно сканировать цветные изображения RGB. Конечно, цветное сканирование в три раза медленнее, чем монохромное, а полученное изображение также намного более зашумлено, поскольку цветной пиксель менее яркий, чем белый. Фактически, синий канал цветных изображений, которые я сделал, в основном представляет собой шум и почти не содержит полезного сигнала, поскольку LDR не очень чувствителен к синему свету.

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

Изображение
Изображение
Изображение
Изображение

Техническая реализация

На схеме ниже показана аппаратная настройка данной установки. Программа, работающая на компьютере, написана в разделе «Обработка», и вы можете найти ее здесь. В Arduino прошивается прошивка Firmata. Эта удобная прошивка обеспечивает прямой доступ к контактам Arduino через скетч обработки. Таким образом, компьютер может считывать аналоговое напряжение с фоторезистора/делителя напряжения без написания дополнительного кода Arduino.

Изображение
Изображение

Вдохновение для проекта

Должен признаться, что не я придумал эту концепцию. Идея сканировать изображения таким способом пришла в голову некоторым умным умам примерно 100 лет назад. Этот метод называется «сканированием летающего пятна», и он использовался на заре механического телевидения. Я просто подумал, что было бы интересно воссоздать эту установку с использованием сегодняшних технологий. Вместо того, чтобы освещать лица дуговым светом, проходящим через вращающийся диск Нипкова, я использовал проектор. И вместо того, чтобы передавать изображения на «телевизор» (так в те времена назывались механические ТВ-приемники), я записывал результаты сканирования в виде неподвижных изображений на свой компьютер.

Изображение
Изображение

Сканирование изображений с помощью дуговой лампы, вращающегося моторизованного диска с несколькими отверстиями и фотоэлемента довольно нетехнологично. Однако сейчас кажется, что гораздо проще быстро подключить проектор к компьютеру и фоторезистор к Arduino, чтобы добиться аналогичного результата. Тем не менее, результаты раннего механического ТВ-сканирования были ошеломляющими и определенно превосходили мою установку по скорости: механические сканеры изображений 1920-х годов могли сканировать несколько изображений в секунду. Они действительно могли передавать движущиеся изображения, тогда как моя камера может записывать только неподвижные изображения объектов, которые не двигаются в течение полутора минут.

Я провел этот эксперимент во время семинара, который я проводил в HEAD - школе искусства и дизайна в Женеве в рамках программы магистра искусств в области медиадизайна. Темой семинара была «Продвинутые машины для селфи», и больше результатов этого семинара вы можете найти здесь. Спасибо Алексии Матье и всей команде HEAD за приятно проведенное время в Женеве и за приглашение провести этот семинар! И спасибо Рафаэль Мюллер за дополнительные фотографии!