Раз уж мы научились брать производную от изображения, то было бы неплохо брать и интеграл изображения :)
Интегральное представление изображения — это матрица, размерность которой совпадает с размерностью исходного изображения. Элементы этой матрицы рассчитываются по формуле:
II(x,y) = Summ( I(i,j) )
, где I(i,j) — яркость пикселя исходного изображения.
Т.о., каждый элемент интегрального изображения II[x,y] содержит в себе сумму пикселей изображения в прямоугольнике от (0,0) до (x,y).
Рассчет интегрального изображения занимает линейное время, пропорциональное числу пикселей исходного изображении.
Рассчет интегрального изображения II можно производить по рекуррентной формуле:
Одной из полезнейших особенностей интегрального представления является возможность очень быстро вычислить сумму пикселей произвольного прямоугольника (или любой другой фигуры, которую можно аппроксимировать несколькими прямоугольниками).
Например, интересующий нас прямоугольник ABCD:
Сумму внутри прямоугольника можно выразить через суммы и разности смежных прямоугольников по формуле:
SumOfRect(ABCD) = II(A) + II(С) — II(B) — II(D)
Не верится? Возьмём в руки Excel и проверим:
В OpenCV для подсчёта интегрального изображения уже есть функция cvIntegral():
— вычисление интегрального представления изображения (integral image) по формуле:
SUM(X,Y) = sum(x<X,y<Y)I(x,y)
image — исходное изображение WxH, 8-битное или 32F, 64F
sum — интегральное представление (W+1)x(H+1), 32F или 64F
sqsum — интегральное представление для квадрата величин пикселей (W+1)x(H+1), 64F
tilted_sum — интегральное представление для изображения, повёрнутого на 45 градусов, тип аналогичен sum
Применение:
интегральное изображение использутся для быстрого вычисления яркости заданных участков изображения ( в вейвлет-преобразованиях, фильтрах Хаара, рассчёте дескрипторов (SURF)).
Огромное спасибо за прекрасные примеры и объяснения, просвятился аш свечусь :-)
С нетерпением жду продолжения(больше всего детектирование лица, в видео потоке)
Еще раз огромное спасибо.
Комментарии (1)
RSS свернуть / развернутьС нетерпением жду продолжения(больше всего детектирование лица, в видео потоке)
Еще раз огромное спасибо.
Serega
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.