Ciao a tutti,
per un corso di Image Processing devo lavorare con matlab. Purtroppo non lo ho mai usato prima allora sono un po' perso. Quello su cui sto lavorando e' il filtraggio di immagini.
Ad esempio ho un'immagine in bianco e nero (cioe una matrice in grayscale) a cui devo applicare un filtro. Il filtro e un matrice di dimensione variabile (mettiamo sia 3x3) da applicare ad ogni pixel dell immagine.

Ora mi si parla di filtri direzionali. Da quello che sto capendo devo applicare all immagine questi filtri:

k1=[1 0 0;0 1 0; 0 0 1]/3;
K2=[0 1 0; 0 1 0; 0 1 0]/3;
k3=rot90(k1);
k4=rot90(k2);

ora, come faccio ad applicare il filtro ad ogni punto? Ce la funcione blkproc, giusto?

tipo

A=imread('img.tif');
fun=@(x) double(x)*k1*k2*k3*k4;
B=blkproc(A,[3 3],fun);

secondo voi e il modo giusto? I filtri vengono applicati correttamente a ogni pixel secondo voi? Altirmenti avete suggerimenti?

Grazie a chi vorra rispondere :=