KLT降维与图像压缩(附MATLAB代码)

KLT降维与图像压缩

KLT简述

KLT (Karhunen-Loeve Transform) 是变换编码 (Transform Coding) 的一种方法,它能够将数据转化为更利于压缩的一种形式,去除数据相关性造成的冗余。KLT一般也称为PCA (Principal Component Analysis) 或者EVD (Eigenvalue Decomposition), 在不同的课程和教材中它们可能有一些差别,但本文将要讲的图像压缩中的KLT指的就是计算图像协方差矩阵,保留较大的特征值和其对应的特征向量的方法。

步骤原理

  1. 首先将待处理的图像分割成n个 M × N M\times N M×N 的图像块,并将图像块中数据按照从左到右,从上到下的顺序重新排列成一个列向量,每一个列向量长度为 M × N M\times N M×N,共有 N T N_{T} NT个这样的列向量,第 i i i个列向量为 x n i \bm{x}_{ni} xni
    以二维向量为例,假设每一个向量可以表示为 [ x 1 , x 2 ] T \left [x_1,x_2 \right ]^T [x1,x2]T,那么可以将这些数据点表示在二维平面内,如下图所示,椭圆内为二维向量分布点。


    在这里插入图片描述

  2. 数据中心化: x = x n i − x ˉ \bm{x}=\bm{x}_{ni}-\bar{\bm{x}} x=xnixˉ ,其中 x ˉ \bar{\bm{x}} xˉ为所有列向量的均值。可以看作将数据集平移至原点。


    在这里插入图片描述

  3. 计算协方差矩阵 C \bm{C} C

    C = E [ x x T ] = E [ ( x n i − x ˉ ) ( x n i − x ˉ ) T ] \bm{C}=E\left [\bm{x}\bm{x}^{T} \right ]=E\left [(\bm{x}_{ni}-\bar{\bm{x}})(\bm{x}_{ni}-\bar{\bm{x}})^{T} \right ] C=E[xxT]=

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值