integralImage3

Вычислите 3-D интегральное изображение

Синтаксис

Описание

пример

J = integralImage3(I) вычисляет интегральное изображение, J, от полутонового объемного изображения I.

Примеры

свернуть все

Создайте 3-D входное изображение.

I = reshape(1:125,5,5,5);

Определите подобъем 3 на 3 на 3 как [startRow, startCol, startPlane, endRow, endCol, endPlane].

[sR, sC, sP, eR, eC, eP] = deal(2, 2, 2, 4, 4, 4);

Создайте составное изображение из изображения входа и вычислите сумму по подобъему я 3 на 3 на 3.

J = integralImage3(I);
regionSum = J(eR+1,eC+1,eP+1) - J(eR+1,eC+1,sP) - J(eR+1,sC,eP+1) ...
        - J(sR,eC+1,eP+1) + J(sR,sC,eP+1) + J(sR,eC+1,sP) ... 
        + J(eR+1,sC,sP) -J(sR,sC,sP)
regionSum = 1701

Проверьте точность суммы пикселей.

sum(sum(sum(I(sR:eR, sC:eC, sP:eP))))
ans = 1701

Входные параметры

свернуть все

Полутом, заданный как 3-D числовой массив.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Выходные аргументы

свернуть все

Интегральное изображение, возвращенное как числовой массив. Функция с нулем заполняет верхнюю, левую и первую плоскость, что приводит к size(J) = size(I) + 1. сторона интегрального изображения. Класс выхода double. Получившийся размер выходного интегрального изображения равен: size(J) = size(I) + 1. Такие размеры облегчают расчет сумм пикселей по всем контурам изображения. Интегральное изображение, J, является по существу заполненной версией значения cumsum(cumsum(cumsum(I),2),3).

Типы данных: double

Подробнее о

свернуть все

Интегральное изображение

В integral image каждый пиксель является суммированием пикселей выше и налево от него. Используя интегральное изображение, можно быстро вычислить суммации по субрегионам изображений. Использование интегральных изображений было популяризировано алгоритмом Виолы-Джонса. Интегральные изображения облегчают суммирование пикселей и могут выполняться за постоянное время, независимо от размера окрестности.

Введенный в R2015b