matlab 如何实现哈达玛

matlab 如何实现哈达玛,第1张

用hadamard函数

格式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)的意思就是最后显示的图像分为一行三列,中的第一幅图像


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12542006.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存