Таблиця сумарних площ
Таблиця сумарних площ (Summed-Area Table, SAT) – це структура даних та алгоритм для швидкого й ефективного обчислення суми значень у прямокутній підмножині ґратки. В галузі обробки зображень вона також відома як інтегральне зображення.
Історія та застосування
Таблицю сумарних площ було вперше запроваджено в комп'ютерній графіці в 1984 році Френком Кроу для використання з MIP-текстуруванням. У комп'ютерному баченні її популяризував Льюїс, а потім вона отримала назву "інтегральне зображення" та набула широкого використання в системі Віола-Джонса виявлення об'єктів у 2001 році. Історично, цей принцип добре відомий у дослідженні багатовимірних функцій розподілу ймовірності, особливо в обчисленні двовимірних (або N-вимірних) імовірностей з відповідних кумулятивних функцій розподілу.
Створення та структура
Таблиця сумарних площ створюється з двовимірного масиву значень шляхом послідовного додавання значень сусідніх елементів. Результатом є масив, де кожен елемент містить суму всіх значень у прямокутній підмножині оригіналу, що відповідає верхньому лівому куту елемента.
// Приклад створення таблиці сумарних площ для масиву [1, 2, 3]
int[][] sat = new int[3][3];
sat[0][0] = 1;
sat[0][1] = 3;
sat[0][2] = 6;
sat[1][0] = 1 + 2 = 3;
sat[1][1] = 3 + 4 = 7;
sat[1][2] = 6 + 6 = 12;
sat[2][0] = 1 + 3 = 4;
sat[2][1] = 3 + 5 = 8;
sat[2][2] = 6 + 7 = 13;
Швидкий розрахунок суми
Ключовою перевагою таблиці сумарних площ є здатність швидко обчислювати суму значень у будь-якій прямокутній підмножині оригіналу. Це здійснюється за допомогою чотирьох операцій додавання:
// Сума елементів у прямокутнику (x, y) розміром (width, height)
int sum = sat[y + height – 1][x + width – 1] + sat[y][x] – sat[y][x + width – 1] – sat[y + height – 1][x];
Застосування в обробці зображень
У обробці зображень таблиця сумарних площ використовується в різних застосуваннях, таких як:
- Виявлення об'єктів: Застосовується в системі Віола-Джонса для швидкого визначення суми значень пікселів у вікнах різних розмірів для виявлення об'єктів.
- Розмивання: Може бути використано для швидкого розмивання зображень шляхом обчислення середнього значення у вікні навколо кожного пікселя.
- Порогова обробка: Використовується для порогової обробки зображень, де сума пікселів у вікні порівнюється з заданим порогом.
Застосування в комп'ютерній графіці
У комп'ютерній графіці таблиця сумарних площ використовується в техніках, які включають:
- MIP-текстурування: Здійснює швидке обчислення суми значень пікселів текстури для створення міп-карти.
- Карти глибини: Використовується для створення карт глибини шляхом обчислення суми значень глибини пікселів.
- Списки відображення: Прискорює створення списків відображення шляхом обчислення кількості пікселів у зображенні.
Таблиця сумарних площ – це потужна структура даних, яка дозволяє швидко й ефективно обчислювати суми значень у прямокутній підмножині ґратки. Її унікальні властивості роблять її цінною у сфері обробки зображень, комп'ютерної графіки та інших областях, де потрібні швидкі операції зображення.
Часті запитання
- Що таке таблиця сумарних площ?
- Як створюється таблиця сумарних площ?
- Які переваги використання таблиці сумарних площ?
- У яких застосуваннях використовується таблиця сумарних площ?
- Чим відрізняється таблиця сумарних площ від інтегрального зображення?