DCT 变换的基函数与基图像

1. 图像变换的基函数

在图像的二维变换中, 如果图像本身是正方形的 (图像的长与宽相等), 并且图像的变换核满足课可分离性和对称性, 则此时图像的二维变换可以用两个一维变换代替, 并有如下的矩阵表示形式(更过细节请参考离散余弦变换(DCT) 的来龙去脉)

其中 是进行图像一维变化的时的矩阵, 很多时候人们会误认为这个就是图像二维变换的基函数, 这时不对的, 因为在冈萨雷斯的数字图像处理中是这样定义基函数及基图像的考虑大小为 的子图象 , 其离散变换 可以表示为如下的关系

其中 , 其中的 被称作是基函数或者是基图像所以并不是 是基函数, 而是 那 可不可以用 来表示呢? 明显是不可以的, 要不也就不用将它变成两个一维变换代替了具体应该如何计算呢, 将在第三部分如何绘制基图像中给出

2. 图像变换的基图像

以二维 DCT 变换为例介绍图像二维变换的基图像, 如下图所示为 DCT 变换的基图像

图 1. n=4 时的 DCT 基函数对应的基图像

这是根据基函数绘制出的由 16 个小块组成的基图像, 其中每个小块由 4×4 个元素 (子方块) 组成为了得到左上角块, 我们令 , 并画出 时 的值顶部行中的第二块是 在 时的值的图像, 依次类推可以画出其余所有的图像

3. 如何绘制基图像

3.1 原理部分

由上述内容可以知道, 基图像就是固定 之后得到的变换核在所有可能取值的 上构成的图像, 实际上这个图像也是可以根据矩阵计算生成的, 根据离散余弦变换 (DCT) 的来龙去脉)可知变换矩阵 如下图所示

图 2. DCT 变换矩阵及两坐标轴意义

上图是根据一维变换核 得到的变换矩阵, 从图 2 可以看到, 水平方向取的是不同的 的值, 竖直方向取得的是不同的 的值, 原点位于左上角; 同样变换矩阵 如下图所示

图 3. DCT 变换矩阵的转置及两坐标轴意义

因此我们可以看到, 当求图 1 左上角的基图像时, 只需要将图 3 中的第一列乘以图 2 中的第一行即可; 当求图 1 顶部行中的第二块的基图像 () 时, 只需要图 3 中的第二列乘以图 2 中的第一行即可, 依次便可以计算整幅基图像

3.2 Matlab 实现

如果按照上面介绍的方法进行编程实现的话, 相信一定是一个两层循环的程序但是根据使用矩阵运算替代 for 循环实现信号的 DTFT 的思想, 这样的一个针对与方阵进行的 for 循环基本上都可以写成矩阵相乘的形式比如我们现在的两个矩阵是如下的两个简单的二维矩阵

图 4. 简单二维矩阵

如果按照上述介绍的方法, 得到的基函数为

但这样的过程也可以通过两矩阵相乘的形式得到, 如下所示

观察这两个结果可以看到, 只有矩阵的右上角与左下角不同但是实际上这两部分是对称的, 对应到图 1 的基图像上只是出现水平条纹与竖直条纹的位置发生了变换但是本身图像就是关于对角线对称的, 因此这两个位置发生了变换也没有什么关系, 另一方面, 从右上角和左下角的矩阵的组成可以看到, 右上角的实际上应该是水平的图案, 而左下角是垂直的图案, 这与图 1 中的图像相同

实验结果如下图所示

这个图像与图 1 明显不同, 并不是计算的过程有问题, 是因为在上述计算的基函数矩阵中有整数有负数, 但是灰度图像应该是在 [0,1] 区间内的, 所以需要将计算后的值放缩到 [0,1] 区间内这样修改后的实验结果如下图所示

采用 MATLAB 实现的代码请参考: http://download.csdn.net/download/dugudaibo/10143437

来源: http://blog.csdn.net/dugudaibo/article/details/78701487

dct基 matlab,DCT 变换的基函数与基图像相关推荐

  1. dct变换java_DCT变换的基函数与基图像(图)

    DCT变换的基函数与基图像(图) 07-25栏目:技术 TAG:dct变换 dct变换 1. 图像变换的基函数 在图像的二维变换中,如果图像本身是正方形的(图像的长与宽相等),并且图像的变换核满足课可 ...

  2. DCT变换的基函数与基图像

    1. 图像变换的基函数   在图像的二维变换中,如果图像本身是正方形的(图像的长与宽相等),并且图像的变换核满足课可分离性和对称性,则此时图像的二维变换可以用两个一维变换代替,并有如下的矩阵表示形式( ...

  3. 压缩感知稀疏基之离散余弦变换(DCT)和离散正弦变换(DST)

    题目:压缩感知稀疏基之离散余弦变换(DCT)和离散正弦变换(DST) 在前面一篇<压缩感知的常见稀疏基名称及离散傅里叶变换基>中集结了九篇压缩感知文献中有关稀疏基名称,并且直白地告诉大家稀 ...

  4. C语言实现离散余弦变换(DCT)并用MATLAB和Python验证

    概念 离散余弦变换(Discrete Cosine Transform,DCT)是可分离的变换,其变换核为余弦函数.是与傅里叶变换相关的一种变换,它相当于把离散傅里叶变换的虚数部分丢掉,只使用实数.D ...

  5. matlab dct稀疏系数,Matlab DCT详解

    转自:http://blog.csdn.net/ahafg/article/details/48808443 DCT变换 DCT又称离散余弦变换,是一种块变换方式,只使用余弦函数来表达信号,与傅里叶变 ...

  6. 【运筹学】人工变量法总结 ( 人工变量法解的分析 | 标准型变换 | 构造单位阵 | 目标函数引入 M | 计算检验数 | 选择入基变量 | 选择出基变量 | 中心元变换 | ) ★★

    文章目录 一.人工变量法及解的分析 二.案例 三.线性规划标准型变换 四.人工变量法构造单位阵 五.初始单纯形表 六.初始单纯形表 : 计算非基变量检验数 七.初始单纯形表 : 最优解判定 八.初始单 ...

  7. 希尔伯特黄变换matlab,HHT变换的三种方法 Matla

    压缩包 : f914a6a90d345a26f732d9223e682699.rar 列表 复件 HHT变换的三种方法 Matlab/G Rilling/document.doc 复件 HHT变换的三 ...

  8. matlab 16点fft,16点基4fft流图

    ch3_4 基4混合基FFT_物理_自然科学_专业资料.基4混合基 数字信号处理 (Digital Signal Processing) 信号与系统系列课程组 国家电工电子教学基地 基4FFT算法将N ...

  9. MATLAB坐标系变换动画gif(附代码):坐标系旋转动画+坐标系平移动画代码

    MATLAB坐标系变换动画gif(附代码) 以之前的文章中的例题为例,绘制一个向量和一个运动坐标系在空间中的变换过程,并生成gif动画. 已知坐标系{B}的初始位姿与{A}重合,首先{B}相对于{A} ...

最新文章

  1. 智能传感器深度报告:未来机器感官的百亿美元市场【附下载】
  2. EAR部署websphere步骤
  3. batch 批处理获取系统时间
  4. 栈和队列应用之数制转换
  5. Python爬虫实战之解密HTML
  6. Oracle 10g 用户数及价格
  7. oracle 查询表里信息_oracle查询表信息
  8. gstreamer向appsrc发送编码数据的代码
  9. 如何解决 CAD 启动非常慢的问题
  10. 采云端采云链:从订单协同到采购供应链,让采购供应链互联互通
  11. 【Java】奇偶数判断
  12. [转]Unity 打包快手
  13. 任务一: SpringMVC基本应用
  14. DOM常用操作与Demo
  15. kass中lisp文件_Lisp之文件操作
  16. 拿到一个网站,怎么判断该网站是否存在sql注入漏洞?
  17. iOS基础——通过案例学知识之UITableView
  18. Flutter之声网Agora实现音频体验记录
  19. Educational Codeforces Round 115 (Rated for Div. 2) A. Computer Game
  20. 朱嘉明 | 认知未来货币需要新的思想资源

热门文章

  1. oracle版本 2018,Oracle各版本下载地址
  2. XigmaNas系统(六):VirtualBox安装xp,迅雷,百度云安装,文件共享,远程桌面
  3. Python爬虫框架Scrapy 学习笔记 2 ----- 爬取Mininova网站种子文件信息
  4. Chainlink 预言机的原理解析
  5. 如何调试上位机软件与串口进行通信
  6. react antv实现图片上传预览
  7. 《深度学习》:CANN训练营_昇腾AI入门课学习笔记(第三章 AI应用开发、第四章 直播视频)
  8. html 表格 边框 分组,CSS表格补充(table)
  9. 27.FFmpeg+OpenGLES+OpenSLES播放器实现(一.音视频基础知识概要)
  10. 进化算法——昂贵、有噪声与动态适应度函数