我有一个 128x128 的涂片图像,我希望找到具有普通哈达玛德、相继性和二元排序的哈达玛变换。
imdata = imread('origim.png'); %Load image
new = rgb2gray(imdata); %Convert to 2D Grayscale
N = 128;
H = hadamard(N); % Hadamard matrix
y = fwht(new,N,'sequency') %Perform Fast-walsh-hadamard-transform with order 128
imshow(y); %Display image transform
我可能做错了,但是如果我正确理解 matlab walch 变换,y 应该是转换后的图像。当我尝试运行它时,我收到错误y = fwht(new,N,'sequency')
在处理之前,将图像转换为双精度。然后输入分号 (;)在 y = fwht(new,N,'sequency')的末尾。然后你会得到转换后的图像。只需尝试以下代码。
imdata = imread('peppers.png'); %Load image
new = rgb2gray(imdata); %Convert to 2D Grayscale
neww = im2double(new);
N = 128;
H = hadamard(N); % Hadamard matrix
y = fwht(neww,N,'sequency'); %Perform Fast-walsh-hadamard-transform with order 128
imshow(y); %Display image transform