对二维离散图像进行哈达玛变换

目录

一、沃尔什变换简介

二、哈达玛变换简介

三、哈达玛变换的原理及公式

(1)一维哈达玛变换

(2)二维哈达玛变换

四、哈达玛变换的矩阵实现

(1)哈达玛矩阵的推导

(2)利用哈达玛矩阵来求二维图像的哈达玛变换

 五、在Matlab中实现哈达玛变换

(1)使用Matlab内置函数实现哈达玛变换。

(2)自己编写函数实现哈达玛变换

 六、总结


一、沃尔什变换简介

        沃尔什函数系是函数值仅取+1和-1两值得标准正交完备函数系。由于二值正交函数与数字逻辑中得两个状态相对应,所以非常便于计算机和数字信号处理器运算。

        沃尔什函数有三种排列或编号方式,即列率排列、佩利排列和哈达玛排列。

二、哈达玛变换简介

        沃尔什函数的三种排列方式各有特点,而其中的哈达玛排列是定义最简单的一种排列,存在从低阶到高阶的递推关系,即,任意一阶的哈达玛变换都可以由低阶获得,便于快速计算,实用性更好。

        采用哈达玛排列的沃尔什函数进行的变换成为沃尔什-哈达玛变换,或简称为哈达玛变换。

三、哈达玛变换的原理及公式

        哈达玛变换矩阵式元素仅为+1和-1组成的正交方阵,它的任意两行或两列都彼此正交,即它们的对应元素之和为0。

        哈达玛变换的基本元素是哈达玛变换核矩阵。

(1)一维哈达玛变换

N=2^n,则一维哈达玛变换核为

式中,x,u=0,1,......,N-1b_{k}(z)代表z的二进制表示的第k位值。

一维哈达玛正变换为

式中,x,u=0,1,......,N-1

一维哈达玛逆变换为

 例题讲解:

假设N=4,则n=2,f(x)={f(1),f(2),f(3),f(4)},则x,u=0,1,......,N-1

如果要求变换核,则如下计算:

 同理,可以求得g(0,1)、g(0,2)、……、g(3,3)等等。

如果要求哈达玛正变换,则如下计算:

 同理可以求得H(1)、H(2)、H(3)。

(2)二维哈达玛变换

        原理同上,此时设变换前的二维离散图像对应的矩阵为f(x,y),变换后的矩阵为

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,二维离散哈达变换(DHT)也是一种将时域信号转换为频域信号的方法,在图像处理中也有应用。与DCT不同的是,DHT的基函数是正负相间的离散哈达矩阵,它的变换系数可以是正数也可以是负数。 在Matlab中,可以使用hadamard函数来实现二维离散哈达变换。代码示例如下: ```matlab % 读入灰度图像 img = imread('lena.png'); img = rgb2gray(img); % 设置分块大小为8x8 block_size = 8; % 对图像进行分块,并分别对每个块进行DHT变换 dht_coeffs = blkproc(double(img), [block_size block_size], @hadamard); % 选择部分变换系数,进行图像重构 reconstructed_coeffs = zeros(size(dht_coeffs)); reconstructed_coeffs(1:3, 1:3) = dht_coeffs(1:3, 1:3); reconstructed_img = blkproc(reconstructed_coeffs, [block_size block_size], @ihadamard); % 显示原图像和重构图像 subplot(1,2,1), imshow(img), title('Original Image'); subplot(1,2,2), imshow(uint8(reconstructed_img)), title('Reconstructed Image'); ``` 在上面的代码中,我们首先读入了一幅灰度图像,并将其分块为大小为8x8的块。然后,对每个块分别进行DHT变换,得到了变换系数矩阵dht_coeffs。接着,我们选择了前3x3个变换系数,将其它系数置为0,得到了重构系数矩阵reconstructed_coeffs。最后,我们对重构系数矩阵进行逆DHT变换,得到了重构图像reconstructed_img。 同样地,你可以尝试修改选择的变换系数,看看对重构图像的影响。一般来说,选择较少的变换系数会导致图像失真,选择较多的变换系数会导致图像过于平滑。因此,选择合适的变换系数也是一个需要平衡的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值