图像处理(第九周备课).pptVIP

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
图像处理(第九周备课)

第4章 图像变换 4.3 离散余弦变换 4.3.1离散余弦变换函数 4.3.2 离散余弦变换的数学表达 4.3.3离散余弦变换矩阵与基函数 4.3.2 离散余弦变换的数学表达 4.3.3 离散余弦变换矩阵与基函数 1.离散余弦变换矩阵生成函数dctmtx Matlab提供了函数dctmtx来生成离散余弦变换矩阵,相当 于例题4-11实现的功能。 【例4-15】用图形表示离散余弦变换的基函数。 * * 图 像 处 理 在数学上,离散余弦变换是这样定义的: 设A是一个M行N列的灰度图像(二维数组或矩阵),那么对A实行离散余弦变换就是使用表达式(4-1)进行计算,得到新的M行N列矩阵B, 其中, (4-1) 当矩阵A给定后,M与N便被固定,所以 也成为固定的已知数, 不会随p、q的变化而改变。 在这一转化过程中,每计算得到矩阵B的一个元素,就需要使用A中的所有元素参与进来,进行大量的计算。在数学意义上是以m,n为变量嵌套求和,在计算机上就是以m,n为变量进行嵌套循环。 上面表达式4-1只是计算矩阵B的一个元素,如果要把矩阵B的所有元素都求出来,就还需要针对p,q进行嵌套循环。 1.离散余弦变换的程序实现 【例4-10】自己制作函数,使其能够基本完成dct2函数的功能。 A= imread(D:\001.jpg); s=size(A); M=s(1);N=s(2); ap0=sqrt(1/M); ap=sqrt(2/M); aq0=sqrt(1/N); aq=sqrt(2/N); for p=1:M-1 for q=1:N-1 k=0; for m=0:M-1 for n=0:N-1 k=A(m+1,n+1)*cos(pi*(2*m+1)*p/(2*M))*cos(pi*(2*n+1)*q/(2*N))+k; end end B(p+1,q+1)=ap*aq*k; end end 程序就是依据式(4-1)编制的,m与n的循环就是固定p与q后计算两个求和式。为了与公式中m与n相对应, m与n都从0开始循环,这样才与公式中的余弦函数中的m与n一致。而A的下标却应该变为A(m+1,n+1)。 应该注意重新赋值语句k=0的位置。 0 0 0 0 0 0 0 0 0 3.1966 0.4548 -1.0221 -2.3586 -3.5915 0.2820 -0.1867 0 3.2506 -0.7966 -2.3354 -2.6033 -1.6117 1.7294 -0.7727 0 2.8561 -3.6397 -5.7716 5.4701 2.2185 -0.4061 1.9407 0 0.6969 0.0161 0.0704 0.9009 -0.9455 -0.1281 -0.3589 0 -0.1388 0.0890 -0.0930 1.1784 1.0243 0.5744 -0.9208 0 0.2026 -4.4089 1.3351 2.0211 -2.0069 -0.4574 -0.2817 0 -1.2372 -0.2571 2.3764 1.1782 -1.7051 -0.8342 0.4443 与例题4-5列出的数据比较,除了第一行与第一列不同外,其他都是一样的。说明了这个程序是可行的。因为第一行与第一列使用的乘积系数 与其他位置不同,所以需要再另添加程序,这个工作留为习题。 【注】在Matlab中,一个字母的大写小写可以表示两个变量,如上面的m、n与M、N。 程序运行完以后,得到了变换后矩阵B。在命令窗口输入命令:B(1:8,1:8) 2.离散余弦变换的矩阵表示 一般来说,数学表达式(例如式(4-1))与程序(如例4-10中的程序)都是比较难读的,可以根据自

文档评论(0)

kfcel5460 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档