Главная arrow книги arrow Копия Глава 24. Восприятие arrow Затенение
Затенение

Затенение (под этим подразумевается изменение интенсивности света, полученного от различных участков поверхности в сцене) определяется геометрией сцены и отражательными свойствами поверхностей. В компьютерной графике создание затенения сводится к вычислению значений яркости изображения Х(х,у) с учетом геометрии сцены и отражательных свойств объектов в сцене. В проблематике машинного зрения решается обратная задача — восстановление данных о геометрии и отражательных свойствах по данным об яркости изображения I (х, у). Как оказалось, эта задача с трудом поддается решению, за исключением самых простейших случаев.

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

где к — константа масштабирования; n — единичный вектор, нормальный к поверхности; s — единичный вектор, направленный в сторону источника света. Поскольку n и s — единичные векторы, их точечное произведение представляет собой косинус угла между ними. Форму поверхности можно определить, следя за тем, как изменяется направление нормального вектора п, движущегося вдоль поверхности. Предположим, что значения k u s известны. Поэтому задача сводится к тому, чтобы восстановить данные о векторе n (х, у), нормальном к поверхности, если известна интенсивность изображения I(х,у).