Switch to English
Depth map creator
Программа создает карту глубины, анализируя два изображения - для левого и правого глаза. Карта глубины показывает градациями серого, какие участки располагаются ближе к нам, какие - дальше. Светлые пятна соответствуют участкам, расположенным впереди, темные - позади. Исходное цветное изображение и созданная карта глубины используются для построения нескольких стереоракурсов в программе Bas-relief. Эти стереоракурсы необходимы для создания многоракурсной стереофотографии с использованием линзового или щелевого растра.
Таким образом, программа дает возможность создать несколько ракурсов на основе двух.
Ракурсы, созданные по одному плоскому снимку и соответствующей ему карте глубины, имеют некоторые преимущества перед ракурсами, полученными многоракурсной съемкой:
- Ракурсы избавлены от ошибок совмещения. Стереоснимки, сделанные фотоаппаратом, нуждаются в тщательной подгонке друг к другу: их нужно точно совместить по горизонтали, по вертикали, иногда повернуть (что труднее всего). Ракурсы, смоделированные на компьютере, не нуждаются в выравнивании, поскольку они изначально идеально подогнаны друг к другу.
- Ракурсы избавлены от ошибок освещения. Во время многоракурсной съемки условия освещения могут измениться, и вы получите фотографии с разным освещением.
- Ракурсы избавлены от ошибок движения. Во время стереосъемки предметы могут сместиться, например, из-за вибрации или ветра.
Программа использует стандартный алгоритм поиска двух похожих фрагментов на левом и правом снимках. Карта глубины создается, исходя из смещения (параллакса) этих фрагментов.
Качество создаваемых карт глубины зависит от содержания исходных изображений. Чтобы проверить, сможет ли программа создать качественную карту, можно сделать пробу с низким качеством и высокой скоростью (Quality-Speed).
В одних случаях стереоракурсы, смоделированные в программах Bas-relief или Photoshop с использованием карты глубины, не уступают по качеству настоящей многоракурсной съемке. В других случаях конечный результат будет неудовлетворительным, тогда нужно использовать другое программное обспечение для генерации дополнительных стереоракурсов.
Программа считывает файлы форматов BMP, PNG, TIFF, JPEG, записывает - BMP, PNG, TIFF. Входные и выходные файлы - в цветовой модели RGB. Не поддерживаются сжатые файлы TIFF и содержащие
более 4 слоев.
В начало страницы
Windows 98/NT4/2000/XP.
В начало страницы
Рис. 1. Интерфейс программы
В программу загружаются два изображения: одно - левого глаза (Left image), другое - для правого (Right image). Если вы перепутаете левое и правое изображение, программа создаст инвертированную серую маску: светлые пятна будут соответствать удаленным участкам. Можно поменять местами правое и левое изображение, либо сделать негатив созданной карты глубины.
Настройки (Settings)
- Analyzed fragment size, px определяет размер фрагмента (квадратной формы), который будет сравниваться на двух снимках. Устанавливайте размер фрагмента приблизительно равным размеру характерных деталей картинки.
Рис. 2. Анализируемый фрагмент
Точность определения карты глубины зависит от размера анализируемого фрагмента. Размер фрагмента должен быть и не слишком маленьким, и не слишком большим.
 |  |  |
размер фрагмента = 2 | размер фрагмента = 4 | размер фрагмента = 6 |
Рис. 3. Изменение карты глубины с размером анализируемого фрагмента
- Maximum horizontal parallax, px - перед началом работы программы необходимо определить максимальный вертикальный и горизонтальный параллакс и тем самым задать область поиска:
Рис. 4. Максимальный горизонтальный параллакс
- Maximum vertical parallax, px - вертикальный параллакс для большинства стереопар равен нулю или очень мал.
Рис. 5. Максимальный вертикальный параллакс
- Флажки Source image analysing и Gradient image analysing определяют, какие изображения будет анализироваться: исходные картинки или их градиенты - контуры. Если изображения для левого и правого глаза отличаются по цвету и освещенности, тогда лучше анализировать контурные или градиентные изображения:
 |  |
исходная стереопара | градиентные изображения |
Рис. 6. Исходные и градиентные изображения
- Quality - Speed указывает, во сколько раз будет уменьшено анализируемое изображение, чтобы увеличить скорость постороения карты глубины. Построение карты с большой скоростью и низким качеством нужно использовать для предварительного просмотра, чтобы оценить, насколько хорошо будут проводиться вычисления. Вычисления с максимальным качеством займут много времени, в зависимости от мощности используемого процессора. Например, изображение 1000х1000 пикселей может обрабатываться до 40 минут.
- При установке флажка Preview anaglyph image после создания карты глубины оно будет показано в окне программы просмотра графики (например, ACDSee), если такая установлена на вашем компьютере.
Нажатием кнопки Create left depth map создается карта глубины для левого изображения; кнопка Create right depth map создает карту глубины для правого изображения. Программа создаст карту глубины, добавив к исходному названию файла суффикс -3dmap.
В начало страницы
Рис. 7. Интерфейс диалога Smoothing
В этом диалоге сглаживается созданная карта глубины. Здесь используется особый алгоритм, который не размывает контуров изображения. Для начала нужно создать контурный препарат изображения, задав нужный уровень контуров Outline image level. Если вы уменьшите значение Outline image level, то подчеркнете более слабые контуры:
 |  |
уровень контуров = 50 | уровень контуров = 20 |
Рис. 8. Контурные препараты
Нажатием кнопки Smooth left depth map вы сгладите карту глубины для левого изображения.
Нажатием кнопки Smooth right depth map вы сгладите карту глубины для правого изображения. Программа создаст новую карту глубины, добавив к исходному названию файла суффикс -3dmapNew.
Smoothing degree - уровень сглаживания.
 |  |
карта глубины до сглаживания | карта глубины после сглаживания |
Рис. 9. Сглаживание без размытия контуров, уровень сглаживания = 50
В начало страницы
- Для создания карты глубины необходимо подготовить стереопару. Картинки не должны быть слишком маленького размера. Маленькие картинки теряют характерные детали и контуры, по ним трудно создать хорошую карту глубины. Маленькие картинки также имеют небольшой параллакс, а он определяет количество плоскостей-планов, находящихся на разном удалении друг от друга. Если на вашей стереопаре общий параллакс (максимальный отрицательный и положительный параллакс в сумме) равен 6 пикселям, значит, она содержит не более 6 планов. Уменьшая размер стереопары, вы уменьшаете и количество различимых планов.
Карта глубины градациями серого показывает взаимную удаленность точек. В файл записывается только 256 градаций серого, поэтому исходная стереопара не должна содержать больше 256 планов. Общий параллакс не должен превышать 256 пикселей, положительный и отрицательный параллакс - 128 пикселей. Если стереопара имеет параллакс больше 256 пикселей, ее необходимо уменьшить. Это условие накладывает ограничение на верхний размер картинки, около 3000х3000 пикселей.
От качества исходного изображения зависит конечный результат. Не сохраняйте исходные изображения в формате JPEG, либо сохраняйте с максимальным качеством.Не применяйте к исходному изображению фильтры, создающие текстуры, и фильтр Sharpen (резкость) и Blur (размытие). Применяйте нужные фильтры после того, как вы создадите карту глубины.
- Перед началом работы необходимо выровнять стереопары таким образом, чтобы получить минимальные смещения идентичных точек, минимальный вертикальный и горизонтальный параллаксы. В подавляющем большинстве случаев стерепары имеют нулевой вертикальный параллакс. Но бывают исключения. При конвергированной съемке с близкого расстояния на стереопарах возникает небольшой вертикальный параллакс. Вы можете провести стереосъемку не совсем правильно, например, немного наклонив фотоаппарат при съемке второго кадра. В этом случае тоже появится вертикальный параллакс, а при просмотре стереоизображения вы будет ощущать дискомфорт. Смоделированное по карте глубины стереоизображение избавит вас от этого дискомфорта, оно будет смотрется гораздо лучше (если удастся создать хорошую карту глубины).
- Теперь необходимо определить значения максимальных сдвигов по высоте и ширине. Для этого нужно создать анаглиф на основе стереопары. На анаглифном изображении можно легко увидеть области с максимальным смещением. Нужно измерить, например, в Photoshop с помощью инструмента линейка, максимальный вертикальный и горизонтальный параллакс в пикселях.
- Откройте в программе DepthMapCreator левую и правую картинку, установите максимальный вертикальный и горизонтальный параллаксы и размер анализируемого фрагмента. Установите флажок Source image analysing или Gradient image analysing. Если картинки в стереопаре различаются по цвету и освещенности, необходимо установить флажок Gradient image analysing.
- Сделайте пробную карту глубины с большой скоростью и низким качеством ( Quality - Speed ). Если созданная карта глубины вас устраивает, можно включить создание карты с высоким качеством Speed = 1. На это может уйти много времени - до нескольких часов.
- Созданную карту глубины можно сгладить, не размывая контуры, в диалоге Smoothing.
- Во время работы программа создает вспомогательные файлы:
filename-xd.bmp
filename-yd.bmp
filename-gradient.bmp
filename-outline.bmp
filename-resize.bmp
filename-3dmap.bmp
filename-3dmapNew.bmp
Последние два файла - это нужные нам карты глубины: 3dmap - несглаженная, 3dmapNew - сглаженная. Остальные файлы можно удалить, но только по окончании работы программы, во время работы их нельзя удалять и редактировать.
- Созданную карту глубины можно подредактировать в любой графической программе.
В начало страницы
Если конечное изображение получается черным, значит, начальные файлы находятся не в цветовой модели RGB, а в других цветовых моделях: Grayscale, Indexed Color, CMYK. Необходимо перевести изображение в RGB.
В начало страницы