格式h=hadamard(n)
简单数组进行哈行银则达玛变换搏磨的例子档棚
a=[1
1
3
1
2
1
2
2]
for
k=1:4
wht(:,k)=hadamard(2)*a(:,k)/2
end
%对每一列进行变换
for
j=1:2
b=wht(j,:)'
hadamard(4)
wh(:,j)=hadamard(4)*wht(j:)'/4
end
%对wht的每一行进行变换得到wh
clearclcclose all%这销腔一行的命令就是为了清闹局零,消除上面 *** 作的影响filename='D:\matlab\work\13.jpg'
A=double(rgb2gray(imread(filename)))%讲图像变换成双精度型的图液斗让形类型
B=DCT2(A)%离散余弦函数 *** 作
figure(2)subplot(1,3,1)imshow(uint8(A))title('原图')
subplot(1,3,2)imshow(uint8(B))title('离散DCT变换结果')
E=idct2(B)%反余弦变换
subplot(1,3,3)imshow(uint8(E))title('DCT逆变换的结果')
%subplot函数实现的是图像的最后排列显示,如(1,3,1)的意思就是最后显示的图像分为一行三列,中的第一幅图像
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)