Почему неверна формула Y = 0.3R + 0.59G + 0.11B?

Возьмем известную всем задачу преобразования из цветного в черно-белое изображение. Цель — получить черно-белое изображение, при просмотре которого воспринимаемые яркости пикселей будут пропорциональны воспринимаемой яркости пикселей цветного изображения. Нас интересует не художественный эффект, а фотометрическая точность. Обычно задачу решают либо отбрасыванием одного из трех каналов (получается плохо), либо смешиванием каналов в равных пропорциях (получается лучше, но есть противоречия с экспериментальными результатами). В этот момент обычно на просторах интернета поиском находится формула Y= 0.3R + 0.59G + 0.11B (например, в OpenCV). Но почему коэффициенты именно такие? И верны ли они?
Продолжить чтение «Почему неверна формула Y = 0.3R + 0.59G + 0.11B?»

Задачи синтеза фотореалистичных изображений

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

Но когда мы показываем изображений человеку, задача становится намного сложнее. Вне зависимости от конкретной задачи, котора я приводит к созданию изображения, основное наше желание — это информационная коммуникация с другим человеком. А если мы ходим вложить что-то в голову другому, нам придется провести наше изображение через зрительную систему этого человека.

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

Продолжить чтение «Задачи синтеза фотореалистичных изображений»

Методы представления и экранизации трехмерных данных с помощью изображений: часть 1

Синтез изображений несуществующих (синтезированных) объектов повсеместно используется в науке (научная визуализация), кинематографе (создание спецэффектов), развлечениях (трехмерные игры). Также эти методы находят свое применение в промышленности (моделирование прототипов автомобилей и т.п.), сфере услуг. Разработано огромное число алгоритмов синтеза, позволяющих получить на экране изображение синтезированной трехмерной модели.

Продолжить чтение «Методы представления и экранизации трехмерных данных с помощью изображений: часть 1»

Два правила доступа к пикселям

О правильном и быстром доступе к изображениям написано во всех книжках по компьютерной графике. Тем не менее, в работе постоянно сталкиваюсь с тем, что даже опытные программисты (не говоря уж о студентах) то и дело выдают код типа SetPixel(x,y) или m_image[y * width * 4 + x], что приводит к плачевным результатам. Обработка изображений такого не прощает. В этой заметке мы попробуем разработать простой класс для хранение изображения и рассмотрим, как с ним можно (и нужно) быстро работать. Поможет новичкам.
Продолжить чтение «Два правила доступа к пикселям»

На платформе WordPress.com. Тема: Baskerville 2, автор: Anders Noren.

Вверх ↑