离散图像变换

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
像的大小为N=2n。
最低阶的哈达玛矩阵为:
1 1 H2 1 1
高阶哈达玛矩阵可以通过如下方法求得:
HN
H H
N N
/2 /2
H N /2
H
N
/
2
N=4的哈达玛矩阵为:
1 1 1 1 0
H4
1 1 1 1 3 1 1 1 11
1 1 1 1 2
哈达玛变3换.3矩.2阵沃,尔其什列率变的换排列是无规则的。
N u0 v0
i0
沃尔什变换在图像处理中的应用 ❖ 例1:一个二维数字图像信号矩阵为
❖ 该图像的的二维DWT:W=1/N2×GFG
❖ 例2:一幅均匀分布的数字图像
❖ 该图像的的二维DWT:W=1/N2×GFG
❖ 得到W后,可以通过公式F=GWG得到图 像矩阵。
❖ 由此可看出,二维沃尔什变换具有能量集 中的作用,而且,原始数据中数字越是均 匀分布,经变换后的数据越集中于矩阵的 边角上。
❖ J(abs(J)<0.5) = 0 ❖ K = idct2(J); ❖ figure, imshow(K,[],'notruesize')
❖ J(abs(J)<1) = 0 ❖ K = idct2(J); ❖ figure, imshow(K,[],'notruesize')
❖ f=imread('C:\MATLAB701\toolbox\imag es\icons\hand.gif');
❖ 沃尔什函数有三种排列或编号方式,以哈达玛排 列最便于快速计算,采用哈达玛排列的沃尔什函 数进行的变换称为沃尔什-哈达玛变换,简称 WHT或简称哈达玛变换。
3.3.1 哈达玛变换
我们定义元素仅由+1和-1组成的正交 方阵为哈达玛矩阵。所谓正交方阵,即指它 的任意两行(或两列)都彼此正交,或者说 它们对应元素之和为零。哈达玛变换要求图
❖ 二维信号同样可以推出它的离散余弦变换
F(u,v) C(u)C(v)
2 MN
M 1N 1 x0 y0
f
(x,
y) c os
M
u(x
1 2
)
cos
N
v( y
12 )
DCT逆变换为
f (x, y)
2 M 1 MN u0
N 1 v0
C
(u)C
(v)F
(u,
v)
c
os
M
u(x
12)
cos
N
v(
y
❖ imshow(f,'notruesize')
❖ J = dct2(I); ❖ figure, ❖ imshow(log(abs(J)),[]), colormap(jet(64)),
colorbar
6 4 2 0
❖ J(abs(J)<0.03e+003) = 0 ❖ K = idct2(J); ❖ figure, imshow(K,[],'notruesize')
n 1
1 N 1 N 1
n1
[bi ( x)bn1i (u )bi ( y)bn1i (v)]
W (u, v)
f (x, y) (1) i0
N x0 y0
i0
n 1
f (x, y)
1
N 1 N 1
n1
[bi ( x)bn1i (u )bi ( y)bn1i (v)]
W (u, v) (1) i0
J(abs(J)<0.08e+003) = 0
❖ 看MATLAB中的demo
3.3 二维离散沃尔什-哈达玛变换(DHT)
❖ 余弦型变换的基函数是余弦型函数。
❖ 沃尔什变换是由+1或者-1的基本函数的级数展 开而成的 ,它也满足完备正交特性 。由于沃尔 什函数是二值正交函数,与数字逻辑中的二个状 态相对应,因此它更适用于计算机技术、数字信 号处理。
将一个信号通过对折延拓成实偶函数,然后
进行傅里叶变换,我们就可用2N点的DFT来产
生N点的DCT。信号f(n)的离散余弦变换的定义
式为:
F(k) C(k) 2 N1 f (n) cos (2n 1)k
N n0
2N
式中
C(k)
1 2
,
1,
k 0 1 k N 1
3.2.2 二维离散余弦变换(DCT2)
将无序的哈达玛核进行列率的排序,之后得到的
有序的变换就成为沃尔什(Walsh)变换。如N
=4时的矩阵:
1 1 1 1 0
H4
1 1
1 1 1 1
1 1 1 2
1 1
1
1
3
Biblioteka Baidu
一维Walsh变换核为
n 1
g(x, u)
1
N 1
bi ( x)bn1i (u )
(1) i0
N i0
二维沃尔什正变换和反变换为

for i=1:1:M

for j=1:1:N

f(i,j)=cos(pi/M.*(i+0.5).*(u-1)).*cos(pi/N.*(j+0.5).*(v-1));

end

end

I=mat2gray(f);

subplot(M,N,number),imshow(I);

number=number+1;
❖ end
❖ end
二维离散余弦变换的应用
❖ DCT的典型应用是进行数据压缩编码,可以 进行图像数据压缩,目前的国际压缩标准 JPEG的格式中就应用了DCT变换。
❖ DCT的MATLAB函数:dct2,idct2。 ❖ B=dct2(A);
❖ %A是M×N的矩阵,B是A的DCT系数,大小为 M×N。
3.2 二维离散余弦变换(DCT)
❖ 离 散 余 弦 变 换 DCT (Discrete Cosine Transform) 是图像数据压缩中常用的一个 变换编码方法。
❖ 任何实对称函数的傅里叶变换中只含余弦项 , 余弦变换是傅里叶变换的特例,余弦变换是 简化傅里叶变换的重要方法。
3.2.1 一维离散余弦变换(DCT)
12)
这 些 函 数 被 成 为 DCT 的 基 本 函 数 ( 图 像 ) 。 一 幅 8×8的图像,是由64个基本图像的线性组合。
❖ % DCT coefficient function ❖ close all ❖ clear all

❖ M=8;N=8; ❖ figure, ❖ number=1; ❖ for u=1:1:M ❖ for v=1:1:N
❖ close all ❖ clear all

❖ f = zeros(10,10); ❖ f(2:2,1:10) = 1;f(5:5,1:10) = 1;f(8:8,1:10) = 1; ❖ imshow(f,'notruesize')

❖ J = dct2(f); ❖ figure, ❖ imshow(log(abs(J)),[],'notruesize'),
相关文档
最新文档