Gaussi hägu

Gaussi hägu (inglise Gaussian blur) on pildi hägususe filter, mis arvutab igale pildi pikslile rakendatud teisenduse. Filter kasutab normaaljaotust, mida nimetatakse ka Gaussi jaotuseks saksa matemaatiku Carl Friedrich Gaussi järgi. Seda efekti kasutatakse laialdaselt pilditöötluses, pildi pehmendamiseks ja hägususe efekti tekitamiseks. Sageli kasutatakse seda ka lamedate ja langevate objektidele varjude loomiseks. Gaussi hägusust kasutatakse ka arvutinägemis algoritmide eeltöötlusetapina, et parandada pildi struktuuri erinevates skaalades. Gaussi hägususe efekti saavutamiseks tuleks kujutist konvoleerida Gaussi funktsiooniga. Ühemõõtmeline Gaussi jaotusvõrrand omab järgmist kuju: G ( x ) = 1 2 π σ 2 e − x 2 2 σ 2 {\displaystyle G(x)={\frac {1}{\sqrt {2\pi \sigma ^{2}}}}e^{-{\frac {x^{2}}{2\sigma ^{2}}}}} Kahes mõõtmes on see kahe Gaussi funktsiooni korrutis, üks iga mõõtme jaoks: G ( x , y ) = 1 2 π σ 2 e − x 2 + y 2 2 σ 2 {\displaystyle G(x,y)={\frac {1}{2\pi \sigma ^{2}}}e^{-{\frac {x^{2}+y^{2}}{2\sigma ^{2}}}}} kus x, y on punkti koordinaadid ja σ {\displaystyle \sigma } on Gaussi jaotuse standardhälve. Kahe mõõtme korral määratleb see valem pinna, millel on keskpunktist Gaussi jaotusega kontsentrilised objektid. Piksleid, mille jaotus on nullist erinev, kasutatakse algkujutisele rakendatava konvolutsioonimaatriksi koostamiseks. Iga piksli väärtusest saab naabruskonna kaalutud keskmine. Algne piksliväärtus omandab kõige suurema kaalu (sellel on kõrgeim Gaussi väärtus), sõltuvalt naaberpikslite kaugusest on nendel kaal väiksem. Teoreetiliselt on jaotus pildi igas punktis nullist erinev, mis eeldaks pildi iga piksli kaalu arvutamist. Praktikas ei võeta Gaussi funktsiooni diskreetse lähenduse arvutamisel arvesse piksleid, mis asuvad kaugemal kui 3 σ {\displaystyle 3\sigma } , kuna neil on üsna väike mõju ja neid võib pidada praktiliselt nulliks. Seega piisab, kui pilti filtreeriv programm arvutab välja maatriksi ⌈ 6 σ ⌉ ∗ ⌈ 6 σ ⌉ {\displaystyle \lceil 6\sigma \rceil *\lceil 6\sigma \rceil } , et tagada Gaussi jaotuse lähenduse piisav täpsus. Lisaks on Gaussi jaotusel väärtuslik omadus, mis võimaldab kahemõõtmelist jaotust jagada ühemõõtmelisteks paarideks – seda omadust nimetatakse lineaarseks eraldatavuseks (inglise linearly separable). Seetõttu võib väljendi kirjutada järgmiselt: G ( x , y ) = 1 2 π σ 2 e − x 2 + y 2 2 σ 2 = 1 σ 2 π e − x 2 2 σ 2 1 σ 2 π e − y 2 2 σ 2 = G ( x ) G ( y ) {\displaystyle G(x,y)={\frac {1}{2\pi \sigma ^{2}}}e^{-{\frac {x^{2}+y^{2}}{2\sigma ^{2}}}}={\frac {1}{\sigma {\sqrt {2\pi }}}}e^{-{\frac {x^{2}}{2\sigma ^{2}}}}{\frac {1}{\sigma {\sqrt {2\pi }}}}e^{-{\frac {y^{2}}{2\sigma ^{2}}}}=G(x)G(y)} Selle omaduse rakendamisel piisab, kui filtreerida pildi horisontaalsuunas ühemõõtmelise filtriga ja seejärel filtreerida tulemus sama filtriga vertikaalsuunas, andes hiljem kahemõõtmelise Gaussi jaotuse efekti. Kuna toiming on kommutatiivne, pole rakendatud filtrite järjekord oluline. See on üsna kasulik omadus, kuna seda saab arvutada keerukusega O ( w kernel w image h image ) + O ( h kernel w image h image ) {\displaystyle {\displaystyle O\left(w_{\text{kernel}}w_{\text{image}}h_{\text{image}}\right)+O\left(h_{\text{kernel}}w_{\text{image}}h_{\text{image}}\right)}} , kus h on kõrgus ja w on laius, erinevalt O ( w kernel h kernel w image h image ) {\displaystyle {\displaystyle O\left(w_{\text{kernel}}h_{\text{kernel}}w_{\text{image}}h_{\text{image}}\right)}} kui kasutatakse lahutamatut tuuma. Gaussi hägususe efekt luuakse tavaliselt pildi konvoleerimisel Gaussi funktsiooni väärtuste tuumaga (inglise kernel). Praktikas on kõige parem kasutada Gaussi hägususe eraldatavuse omadust, viies protsessi läbi kahe käiguga. Esimesel läbimisel kasutatakse ühemõõtmelist tuuma, et hägustada pilti ainult horisontaal- või vertikaalsuunas. Teisel käigul kasutatakse sama ühemõõtmelist tuuma pildi hägustamiseks teises suunas. Lõppefekt on sama, mis konvolutsioonil kahemõõtmelise tuumaga ühe käiguga, kuid see nõuab vähem arvutusi. Diskreetsus saavutatakse tavaliselt diskreetsete punktide valimisega, tavaliselt iga piksli keskpunktidele vastavates kohtades. See vähendab arvutuskulusid, kuid väga väikeste filtrituumade puhul põhjustab Gaussi funktsiooni punktproovide võtmine väga väikese arvu valimitega suure vea. Kui teisendada Gaussi funktsiooni pidevad väärtused tuuma jaoks vajalikeks diskreetseteks väärtusteks, erineb väärtuste summa 1-st. See muudab pildi tumedamaks või heledamaks. Selle efekti parandamiseks saab väärtusi normaliseerida, jagades tuuma iga elemendi kõigi elementide summaga. Gaussi hägusust saab kasutada ka pildi müra vähendamiseks enne servatuvastusalgoritmi rakendamist. See meetod võimaldab vähendada müra hulka, parandades servatuvastusalgoritmi järgneva töö tulemust. Gaussi hägusust kasutatakse sageli fotode järeltöötluses teravate kohtade tasandamiseks, suunates seeläbi vaataja pilgu pildi kindlale osale. Filtrit saab kasutada ka vähese valguse põhjustatud müra vähendamiseks. "Нужно больше разных Blur-ов". Vaadatud 16.04.2022. "Gaussian filter, or Gaussian blur". Vaadatud 16.04.2022. D. Ziou, S. Tabbone. "Edge Detection Techniques - An Overview" (PDF). International Journal of Pattern Recognition and Image Analysis. Originaali (PDF) arhiivikoopia seisuga 8. oktoober 2019. Vaadatud 16.04.2022. "Demystifying Gaussian blur". Vaadatud 16.04.2022.