Згортка (обробка зображень)
Згортка (ядро, матриця згортки) — матриця, зазвичай, малих розмірів, що використовується в оброблянні зображень як фільтр для розмиття, підвищення різкості, виділення границь тощо. Оброблення зображення полягає в обчисленні нового значення обраного пікселя з врахуванням значення навколишніх пікселів.
Приклади
В залежності від елементів матриці згортка може викликати різні ефекти.
Тотожне відображення | ||
Виділення границь | ||
Sharpen | ||
Розмиття квадратом |
||
Гаусове розмиття |
||
5×5 Нерізке розмиття |
||
Це лише декілька прикладів ефектів, досягнутих за допомогою використання згортки.
Обчислення згортки
Згортка - це процес додавання кожного елемента зображення до його сусідів, зважених ядром. Важливо зауважити, що виконувана матрична операція - згортка - це не звичайне множення, хоча й позначається *.
Наприклад, якщо ми маємо дві 3х3 матриці, перша - ядро, друга - шматок зображення, згортка - це процес транспонування рядків і стовпчиків ядра з наступним множенням і додаванням. Елемент з координатами [2, 2] (тобто, центральний елемент) отриманого зображення буде зваженою комбінацією всіх елементів матриці зображення, з вагами взятими з ядра:
Значення кожного пікселя у вихідному зображенні рівне сумі добутків значень матриці згортки і відповідних пікселів вхідного зображення. Це можна описати таким псевдокодом:
for each image row in input image: for each pixel in image row: set accumulator to zero for each kernel row in kernel: for each element in kernel row: if element position corresponding* to pixel position then multiply element value corresponding* to pixel value add result to accumulator endif set output image pixel to accumulator
Література
- Ludwig, Jamie (n.d.), "Image Convolution". Portland State University. http://web.pdx.edu/~jduh/courses/Archive/geog481w07/Students/Ludwig_ImageConvolution.pdf
- Lecarme, Olivier; Delvare, Karine (January 2013). The Book of GIMP: A Complete Guide to Nearly Everything. No Starch Press, p. 429, ISBN 978-1593273835.
- Gumster, Jason van; Shimonski, Robert (March 2012). GIMP Bible. Wiley, pp. 438–442, ISBN 978-0470523971.
- Stockman, George C.; Shapiro, Linda G. (February 2001). Computer Vision. Prentice Hall, pp. 53–54, ISBN 978-0130307965.
Посилання
- 8.2. Convolution Matrix. Архів оригіналу за 4 жовтня 2017. Процитовано 20 червня 2017. (англ.) - інструкція про те як застосувати згортку до зображення в Gimp