Forum Informatica Unict

LAUREA TRIENNALE (D.M. 270/04) => Interazione e Multimedia, 9 CFU => Topic started by: turì on 06-02-2011, 13:00:47



Title: chiarimento applicazione filtro generico
Post by: turì on 06-02-2011, 13:00:47
data una matrice generica, per applicare un filtro qualsiasi, ad esempio il filtro x-sobel

-1 -2 -1
 0  0   0
 1  2   1

come lo applico?

thanks


Title: Re:chiarimento applicazione filtro generico
Post by: Daréios89 on 06-02-2011, 13:31:34
In genere nell' esercizio si ha una matrice come:

2,4,3,6,8
1,5,4,6,7
1,4,3,5,6
1,4,3,2,6

E poi viene chiesto di applicare il filtro all' immagine 3*3 che ha per centro un pixel preciso.
Per esempio essendo sobel un Kernel 3*3 supponiamo di applicarlo all' elemento (3,3)
Prendo solo una parte della matrice.

5 4 6
4 3 5
4 3 2

Poichè il centro è dato dall' elemento 3, e il resto è il contorno.
E poi fai il prodotto punto a punto se non sbaglio.


Title: Re:chiarimento applicazione filtro generico
Post by: turì on 06-02-2011, 14:32:27
forse intendevi dire il punto (2,2) visto che si parte a contare gli indici da 0

se per caso lo chiede di fare su tutta la matrice al solito creo il bordo all'immagine con tutti 0 e poi lo faccio per ogni pixel, giusto?


Title: Re:chiarimento applicazione filtro generico
Post by: Daréios89 on 06-02-2011, 14:51:05
Si hai ragione partono da 0, si si uno dei metodi per risolvere il problema dei bordi per i filtri è immaginare che attorno vi sia 0, quindi anche io farei così  .sisi


Title: Re:chiarimento applicazione filtro generico
Post by: Geko on 06-02-2011, 19:18:30
Per farla molto semplice devi scorrere la matrice ( gestendo i bordi) e fare la somma dei prodotti degli elementi del kernel con gli elementi dell'intorno del pixel su cui stai operando.



img
[1,2,3,4,5;
6,7,8,9,10;
11,12,13,14,15;
16,17,18,19,20;
21,22,23,24,25]

kernel
[a,b,c;
d,e,f;
g,h,i;]

se sei ad esempio nel pixel (2,2) = 7
prendi il suo intorno costituito dagli 8 connessi,
moltiplichi quello in alto a sx con il primo elemento del kernel e lo sommi a quello in altro centrale per il secondo elemento del kernel e lo sommi a .....

In pratica metti il centro del kernel nel pixel e fai la somma dei prodotti degli elementi con posizione uguale.

GC


Title: Re:chiarimento applicazione filtro generico
Post by: turì on 06-02-2011, 19:26:49
Per farla molto semplice devi scorrere la matrice ( gestendo i bordi) e fare la somma dei prodotti degli elementi del kernel con gli elementi dell'intorno del pixel su cui stai operando.



img
[1,2,3,4,5;
6,7,8,9,10;
11,12,13,14,15;
16,17,18,19,20;
21,22,23,24,25]

kernel
[a,b,c;
d,e,f;
g,h,i;]

se sei ad esempio nel pixel (2,2) = 7
prendi il suo intorno costituito dagli 8 connessi,
moltiplichi quello in alto a sx con il primo elemento del kernel e lo sommi a quello in altro centrale per il secondo elemento del kernel e lo sommi a .....

In pratica metti il centro del kernel nel pixel e fai la somma dei prodotti degli elementi con posizione uguale.

GC


quindi al 7 sostituisco la sommatoria dei prodotti dei valori del kernel per i rispettivi valori della matrice di input?

esempio

immagine

1 2 1
3 2 2
0 1 1

kernel

1 1 1
0 0 0
1 1 1

si fa che al posto dell'elemento centrale 2 sostituisco

1*1 + 2*1 + 1*1 + 3*0 + 2*0 + 2*0 + 0*1 + 1*1 + 1*1 = 7


Title: Re:chiarimento applicazione filtro generico
Post by: Geko on 06-02-2011, 19:31:44
yeh

GC


Title: Re:chiarimento applicazione filtro generico
Post by: turì on 06-02-2011, 19:32:38
grazie del chiarimento


Title: Re:chiarimento applicazione filtro generico
Post by: Daréios89 on 06-02-2011, 21:50:16
Scusa tu avevi detto la somma degli otto connessi, ma ho visto moltiplicare anche l' elemento centrale, quello non andrebbe escluso?


Title: Re:chiarimento applicazione filtro generico
Post by: pippo on 06-02-2011, 21:52:44
Scusa tu avevi detto la somma degli otto connessi, ma ho visto moltiplicare anche l' elemento centrale, quello non andrebbe escluso?
va incluso anche quello naturalmente


Title: Re:chiarimento applicazione filtro generico
Post by: Daréios89 on 06-02-2011, 21:54:17
 :pray  :pray  :pray