By Victor Powell
A képmag egy kis mátrix, amelyet a Photoshopban vagy a Gimpben található effektusok, például az elmosás, élesítés, kontúrozás vagy domborítás alkalmazásához használnak. A gépi tanulásban is használják őket a “feature extraction”, azaz a kép legfontosabb részeinek meghatározására szolgáló technika során. Ebben a kontextusban a folyamatot általánosabban “konvolúciónak” nevezik (lásd: konvolúciós neurális hálózatok.)
Hogy lássuk, hogyan működnek, kezdjük egy fekete-fehér kép vizsgálatával. A bal oldali mátrix 0 és 255 közötti számokat tartalmaz, amelyek mindegyike egy-egy pixel fényerejének felel meg egy arc képén. A nagy, szemcsés képet felnagyítottuk, hogy könnyebben látható legyen; az utolsó kép a “valódi” méret.
Sétáljuk végig, hogyan alkalmazzuk a következő 3×3 {{selectedKernel}} kernelt a fenti arc képére.
Az alábbiakban a bal oldali kép minden egyes 3×3 pixeles blokkjára megszorozzuk az egyes pixeleket a kernel megfelelő bejegyzésével, majd kivesszük az összeget. Ez az összeg lesz egy új pixel a jobb oldali képen. Ha bármelyik képen egy képpont fölé tartunk, láthatjuk, hogyan számítjuk ki az értékét.
A folyamat egyik finomsága, hogy mi a teendő a kép szélei mentén. Például a bemeneti kép bal felső sarkának csak három szomszédja van. Ezt úgy tudjuk megoldani, hogy az eredeti képen eggyel meghosszabbítjuk az élek értékeit, miközben az új képünk mérete nem változik. Ebben a demóban ehelyett figyelmen kívül hagytuk ezeket az értékeket, és feketévé tettük őket.
Itt van egy játszótér, ahol különböző kernelmátrixokat választhat, és megnézheti, hogyan hatnak az eredeti képre, vagy létrehozhatja saját kernelét. Saját képet is feltölthetsz, vagy használhatsz élő videót, ha a böngésződ támogatja.
A sharpen kernel kiemeli a szomszédos pixelértékek különbségeit. Ezáltal a kép élénkebbnek tűnik.
A blur kernel a szomszédos pixelértékek különbségeit csökkenti.
A domborító kernel (hasonló a sobel kernelhez, és néha ugyanezt jelenti) a mélység illúzióját kelti a pixelek adott irányú különbségeinek hangsúlyozásával. Ebben az esetben a bal felsőtől a jobb alsóig tartó vonal mentén.
A behatárolt kernel változatlanul hagyja a képet. Milyen unalmas!
A saját kernel olyan, amilyenné te teszed.
A kobel kernel arra szolgál, hogy egy adott irányban csak a szomszédos pixelértékek különbségeit mutassa meg.
A körvonal kernel (más néven “él kernel”) a pixelértékek nagy különbségeinek kiemelésére szolgál. A közel azonos intenzitású szomszédos képpontok melletti képpont fekete színű lesz az új képen, míg az erősen eltérő intenzitású szomszédos képpontok melletti képpont fehér színű lesz.
A továbbiakért tekintse meg a Gimp kiváló dokumentációját az Image kernelek használatáról. Saját egyéni szűrőket is alkalmazhatunk a Photoshopban a Filter -> Other -> Custom…
menüpontban.