Конволуција се користи за многе ствари као што су израчунавање извода, откривање ивица, примена замућења итд. и све се то ради помоћу 'конволуционог кернела'. Конволуционо језгро је веома мала матрица и у овој матрици свака ћелија има број и такође тачку сидрења.
Тачка сидрења се користи за познавање положаја кернела у односу на слику. Почиње у горњем левом углу слике и креће се по сваком пикселу узастопно. Кернел преклапа неколико пиксела на свакој позицији на слици. Сваки пиксел који се преклапа се множи, а затим додаје. А збир се поставља као вредност тренутне позиције.
филмска глумица Кајал
Конволуција је процес у коме се сваки елемент слике додаје својим локалним суседима, а затим се пондерише језгром. Повезан је са обликом математичке конволуције.
У конволуцији, матрица не врши традиционално множење матрице, али је означена са *.
Претпоставимо да постоје две матрице 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 pixelvalue Add result to accumulator Endif Set output image pixel to accumulator
Конволуција се може израчунати коришћењем вишеструких фор петљи. Али употреба фор петљи узрокује много поновљених прорачуна, а такође се повећава величина слике и кернела. Коришћењем дискретне Фуријеове трансформације технике израчунавање конволуције се може брзо обавити. У овој техници, цела операција конволуције се претвара у једноставно множење.
У конволуцији, проблем се јавља када је језгро близу ивице или углова јер је језгро дводимензионално.
Да бисте превазишли ове проблеме, можете урадити следеће:
- Оне се могу занемарити
- Додатни пиксели се могу креирати близу ивица.
Додатни пиксели се могу креирати на следеће начине:
- Дупликат ивице пиксела.
- Одразите ивице
- Пиксели се могу копирати са другог краја.