Monday, August 2, 2010

Hadamard transformation on 2D image

clear all; close all; clc;
%%%% HADAMARD MATRIX
H = [1 1 1 1 1 1 1 1;
1 -1 1 -1 1 -1 1 -1;
1 1 -1 -1 1 1 -1 -1;
1 -1 -1 1 1 -1 -1 1;
1 1 1 1 -1 -1 -1 -1;
1 -1 1 -1 -1 1 -1 1;
1 1 -1 -1 -1 -1 1 1;
1 -1 -1 1 -1 1 1 -1];
Input_Image = imread('cameraman.tif');
[m n] = size(Input_Image);
for i = 1:8:m
for j = 1:8:n
i1 = 0;
for k = i:i+7
i1 = i1 +1; j1 = 0;
for p = j:j+7
j1 = j1 + 1;
b(i1,j1) = double(Input_Image(k,p));
end
end
b = b.*H;

i1 = 0;
for k = i:i+7
i1 = i1 +1; j1 = 0;
for p = j:j+7
j1 = j1 + 1;
B1(k,p)=b(i1,j1);
end
end
end
end
figure,imshow(im2double(B1)),title('HADAMARD TRANSFORMED IMAGE');

No comments: