filters
Contents
a0, a1, a2
M = 7;
rg = (M-1)/2;
x = ones(M,1)*(-rg:rg);
y = flipud(x');
rsq = x.^2+y.^2;
a0 = im2double(rsq<(M/2).^2);
a1 = x.*a0;
a2 = y.*a0;
h = -rg:rg;
b11_a = h.*h
b11_b = conv(h,h)
plot(h,b11_a,-(M-1):(M-1),b11_b);
b11_a =
9 4 1 0 1 4 9
b11_b =
9 12 10 4 -5 -16 -28 -16 -5 4 10 12 9
b11
b11 = a1.*a1.*a0;
n1 = sum(sum(b11));
n2 = sum(sum(a0));
fprintf('sum b11 %d\n',n1);
factor(n1)
fprintf('sum a0 %d\n',n2);
factor(n2)
b11 = b11-a0*(n1/n2);
b11
sum(sum(b11.*a0))
sum b11 108
ans =
2 2 3 3 3
sum a0 37
ans =
37
b11 =
0 0 -1.9189 -2.9189 -1.9189 0 0
0 1.0811 -1.9189 -2.9189 -1.9189 1.0811 0
6.0811 1.0811 -1.9189 -2.9189 -1.9189 1.0811 6.0811
6.0811 1.0811 -1.9189 -2.9189 -1.9189 1.0811 6.0811
6.0811 1.0811 -1.9189 -2.9189 -1.9189 1.0811 6.0811
0 1.0811 -1.9189 -2.9189 -1.9189 1.0811 0
0 0 -1.9189 -2.9189 -1.9189 0 0
ans =
-7.1054e-015
br
b22 = b11';
br = b11+b22;
br
br =
0 0 4.1622 3.1622 4.1622 0 0
0 2.1622 -0.8378 -1.8378 -0.8378 2.1622 0
4.1622 -0.8378 -3.8378 -4.8378 -3.8378 -0.8378 4.1622
3.1622 -1.8378 -4.8378 -5.8378 -4.8378 -1.8378 3.1622
4.1622 -0.8378 -3.8378 -4.8378 -3.8378 -0.8378 4.1622
0 2.1622 -0.8378 -1.8378 -0.8378 2.1622 0
0 0 4.1622 3.1622 4.1622 0 0
b12
b12 = a1.*a2
sum(sum(b12.*a0))
b12 =
0 0 -3 0 3 0 0
0 -4 -2 0 2 4 0
-3 -2 -1 0 1 2 3
0 0 0 0 0 0 0
3 2 1 0 -1 -2 -3
0 4 2 0 -2 -4 0
0 0 3 0 -3 0 0
ans =
0