arckép

Neuwirth István

programtervező informatikus MSc – ELTE

Computational and Software Techniques MSc – Cranfield, UK

Elérhetőség
pitta2@gmail.com
+36 30 329 3039

Valid XHTML 1.0 Transitional

Valid CSS!

Konvolúciós szűrők

Rajzolóprogramokból ismert szűrők megvalósítása

Gondoltatok már arra, hogy egy-egy Photoshop-beli grafikus hatást hogyan lehetne megvalósítani? Milyen módon lehet rajzszerűvé alakítani, zajt szűrni vagy élesíteni a képet? Jelen cikkben egy módot mutatok különféle hatások létrehozására.

Konvolúciós szűrők segítségével képeffektek széles skáláját tudjuk megvalósítani, ráadásul közel sem olyan bonyolult, mint amilyennek első ránézésre tűnhet. Egy ilyen szűrő gyakorlatilag egy mátrixon alapul és a következő alakban szokták alkalmazni (ez egyben egy példa is lesz):

C=\left[\begin{array}{ccc} 1 & 1 & 1\\ 1 & 1 & 1\\ 1 & 1 & 1\end{array}\right]\frac{1}{9}+0

Itt egy Ix,y pixel értékét a szomszédainak a mátrix szerint súlyozott összértékeként kapjuk, azaz jelen esetben Ix,y=(C1,1*Ix-1,y-1+C1,2*Ix,y-1+…+C3,3*Ix+1,y+1)*1/9+0. Mivel ∀Ci,j=1, ezért a pixel szomszédainak számtani közepét kapjuk, ami egy 3×3-as elmosás (box blur).

Elmosás (Box blur) \left[\begin{array}{ccc} 1 & 1 & 1\\ 1 & 1 & 1\\ 1 & 1 & 1\end{array}\right]\frac{1}{9} eye with box blur
Domborítás (Emboss) \left[\begin{array}{ccc} -2 & -1 & 0\\ -1 & 1 & 1\\ 0 & 1 & 2\end{array}\right] eye with emboss
Élesítés (Sharpen) \left[\begin{array}{ccc} 0 & -1 & 0\\ -1 & 5 & -1\\ 0 & -1 & 0\end{array}\right] eye with sharpen
Élkeresés (Find edges) \left[\begin{array}{ccc} 0 & 1 & 0\\ 1 & -4 & 1\\ 0 & 1 & 0\end{array}\right] eye with find edges
Gauss elmosás (Gaussian blur) \left[\begin{array}{ccc} 1 & 2 & 1\\ 2 & 4 & 2\\ 1 & 1 & 1\end{array}\right]\frac{1}{16} eye with gaussian blur

 

A Photoshopban a Filter→Other→Custom menüpont alatt találunk egy eszközt, amiben a konvolúciós kernelt szerkeszthetjük, vagy egy .Net-es megvalósítása letölthető innen.