MATLAB: Imfilter

imfilter

Hi guys,
I'm confused by the optimal parameters, 'corr' and 'conv'.
Assuming there is a matrix A = [1 2; 8 9; 0 8], a filter f = [-1 -1; 2 2; -1 -1];
It seems that 'corr' and 'conv' will make same result.
I kind of understand 'conv'. It's convolution for the concrete case. But for 'corr', I'm confused. Does it mean the function 'corr2'? I have checked. it seems no.
Can you guys give an example to explain it?
Thanks,
Zhong

Best Answer

Zhang, the difference is that there is a rotation of the kernel by 180 degrees (pi radians) between the two.
So for:
h = [1 2 3
4 5 6
7 8 9];
and
h1 = [9 8 7
6 5 4
3 2 1];
x = randn(20,20);
isequal(imfilter(x,h,'corr'),imfilter(x,h1,'conv'))
returns a 1.