Математика/ 4. Прикладная математика

Cъянов А.А.                                          

Днепродзержинский государственный технический университет

Создание стереоизображений с использование карты глубины

Обычно под стереоизображением понимают плоское изображение, которое воспринимается нами как объемное благодаря бинокулярности человеческого зрения. Левый и правый глаз видят немного различающиеся картинки, и это помогает нам оценивать расстояния до ближайших предметов, определять взаимное расположение объектов. Описание бинокулярного зрения человека встречается еще в работах Леонардо да Винчи, но без какого-либо практического применения. Первооткрывателем стереоскопии считается архитектор Чарльз Уэтстон, который 21 июня 1833 года на собрании Королевского общества в Лондоне прочитал лекцию о своих исследованиях в области стереоскопии и продемонстрировал первый стереоскоп. Фотография к тому времени еще не была изобретена и стереопары были рисованные. Впоследствии наряду со стереоскопами появились цветные анаглифные очки, поляризационные стереоочки и другие способы просмотра стереоизображений. Стереоскопия разделилась на несколько направлений, каждое из которых развивалось отдельно, независимо от других, и это развитие продолжается и по сей день. Нас же интересует одно из этих направлений - получение стереоизображений с использованием компьютерной графики [1;21].

Рис 1. Позиция камер

 
Для восприятия сцены глубины необходимо два изображения: одно для левого и одно для правого глаза. Первое изображение должно быть создано для камеры позиционируемой для левого глаза и второе – для правого глаза. Рис. 1 показывает позицию камер и плоскости проекции относительно видимого объекта. Плоскость проекции является общей для двух изображений.

Рассмотрим 3 изображения, созданных для трех позиций камер: левый глаз (L), правый глаз (R) и между L и R - середина(O). Рассмотрим также 2D  точки KL, KR, KO   которые являются проекциями 3D точки K на три изображения (Рис. 2).

Подпись: Рис. 2 Проекция отдельной точкиПредположим, что расстояние между камерами L и О и между камерами R и О является е/2 (е – расстояние между глазами). Пусть точка KO и ее значение глубины zK известны (отметим, что значение глубины для этой точки для всех изображений равны). Мы должны вычислить координаты точек KL и KR .

Подпись:      Рис. 3 РасстоянияОбласть L-R является горизонтальной, поэтому KL-KR также горизонтальна. Это значит, что y-координаты точек KL, KR, KO равны. Расстояние между точками KL и KR называется стереопаралаксом точки К. Пусть расстояние от камер до плоскости проекций – d и zK является значением глубины пикселя sK. Расстояние между KL и KO может быть вычислено из подобия треугольников (Рис. 3) [2;5].

                                                   (1)

Так как sK – длина, а нам нужно расстояние в пикселях K, sK должно быть разделено на ξ.

                                                                                                              (2)

Подпись:                          Рис. 4 Смещение точекВ этих тезисах представляется метод разделения одного изображения на два различных изображения. Алгоритм состоит из двух независимых операций: для левого глаза, а вторая – для правого. Как было отмечено, пиксели исходного изображения переносятся только горизонтально, поэтому каждый ряд может быть вычислен независимо. Рассмотрим преобразование отдельного ряда для левой позиции камеры. Камера переносится влево на расстояние е/2. Каждый пиксель этого ряда также переносится влево, но из формулы (1) расстояние переноса больше, если значение компоненты глубины этого пикселя меньше [3;2]. Это означает, что порядок рисования точки должно быть справа налево, потому что в этом случае не будет необходимости проверять z-буфер. Пиксели с меньшим значением глубины покрывают пиксели с большим значением глубины как показано на рис. 4. Закрытые точки помечены серыми кругами.

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

 

 

Подпись: Рис. 5 Дыры между точками

 

Література:

1.        Васильев Г. Растровая стереофотография, Москва: Наука, 1970, 211 c..

2.        Przemislav Kozankiewicz  Fast algorithm for creating image-based stereo images, Warsaw: Institute of Computer Science, 2005, 7 c..

3.        McMillan An Image Based Approach to 3D Computer Graphics, PhD thesis, 1997, 10 c..