实验图像压缩的MATLAB实现精要.pptVIP

  1. 1、本文档共21页,可阅读全部内容。
  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文档。上传文档
查看更多
实验十 图像压缩的MATLAB实现 一、实验目的 了解有关数字图像压缩的基本概念,熟悉MATLAB软件中关于数字图像压缩的基本方法,掌握利用MATLAB软件进行数字图像压缩的方法。 二、相关知识 在当今的信息时代,图像在表达各种信息时有着不可替代的作用,但图像信息的缺点之一就是数据量非常庞大,因此,无论是存储还是传输,都需要对图像数据进行压缩,数据压缩的方法有很多,我们这里介绍一种基于DCT(离散余弦变换)的图像压缩方法,并介绍用MATLAB软件来实现这个算法。 基于DCT的压缩方法如下: (1)首先将输入图像分解为8×8或16×16的块,然后对每个块进行二维DCT变换,这里,一个N×N图像块f(x,y)的二维离散余弦变换公式如下: 二、相关知识 二维离散余弦反变换公式如下: 基于DCT的压缩方法如下: (1)首先将输入图像分解为8×8或16×16的块,然后对每个块进行二维DCT变换,这里,一个N×N图像块f(x,y)的二维离散余弦变换公式如下: 二维离散余弦反变换公式如下: 其中: 在MATLAB中, 称为DCT的变换核 其中: 在MATLAB中, 称为DCT的变换核 MATLAB图像处理工具箱提供了一些函数进行DCT变换。 函数dct2实现图像的二维离散余弦变换,格式为: B=dct2(A) B=dct2(A,[M,N]) B=dct2(A,M,N) A表示要变换的图像,B表示变换后得到的变换系数矩阵,B和A是同样大小的矩阵,其内容是余弦变换后的系数。 M和N是可选参数,表示对图像矩阵A的填充或截取。 函数idct2实现图像的二维离散余弦反变换,语法变换。 函数dct2实现图像的二维离散余弦变换,格式为: B=dct2(A) B=dct2(A,[M,N]) B=dct2(A,M,N) A表示要变换的图像,B表示变换后得到的变换系数矩阵,B和A是同样大小的矩阵,其内容是余弦变换后的系数。 M和N是可选参数,表示对图像矩阵A的填充或截取。 函数idct2实现图像的二维离散余弦反变换,语法格式: B=idct2(A) B=idct2(A,[M,N]) B=idct2(A,M,N) A表示要变换的二维离散余弦变换矩阵,B表示变换后得到的图像,B和A是同样大小的矩阵,其内容是余弦变换后的系数。 M和N是可选参数,表示对图像矩阵A的填充或截取。 函数dctmtx用于计算二维DCT矩阵,语法格式: D=dctmtx(n) 格式: B=idct2(A) B=idct2(A,[M,N]) B=idct2(A,M,N) A表示要变换的二维离散余弦变换矩阵,B表示变换后得到的图像,B和A是同样大小的矩阵,其内容是余弦变换后的系数。 M和N是可选参数,表示对图像矩阵A的填充或截取。 函数dctmtx用于计算二维DCT矩阵,语法格式: D=dctmtx(n) 其中D是返回的n×n的DCT变换矩阵,如果矩阵A的大小是n×n,D×A是矩阵每一列的DCT变换值,A×D’是A的每一行的DCT变换值。 dct2(A)的结果与D×A×D’相同,但后者计算速度较快。 (2)将变换后得到的量化的DCT系数进行编码和传送,形成压缩后的图像格式。 基于DCT的解压缩方法如下: (1)对每个8×8或16×16块进行二维DCT反变换。 (2)将反变换的矩阵的块合成一个单一的图像。 例:把输入图像cameraman.tif划分为8×8的图像块,计算它们的DCT系数,并且只保留64个DCT系数中的10个,然后对每个图像块利用这10个系数进其中D是返回的n×n的DCT变换矩阵,如果矩阵A的大小是n×n,D×A是矩阵每一列的DCT变换值,A×D’是A的每一行的DCT变换值。 dct2(A)的结果与D×A×D’相同,但后者计算速度较快。 (2)将变换后得到的量化的DCT系数进行编码和传送,形成压缩后的图像格式。 基于DCT的解压缩方法如下: (1)对每个8×8或16×16块进行二维DCT反变换。 (2)将反变换的矩阵的块合成一个单一的图像。 例:把输入图像cameraman.tif划分为8×8的图像块,计算它们的DCT系数,并且只保留64个DCT系数中的10个,然后对每个图像块利用这10个系数进行逆DCT变换来重构图像。 解:程序如下: clear I=imread(cameraman.tif); I=im2double(I); T=dctmtx(8); B=blkproc(I,[8 8],P1*x*P2,T,T); %这里T,T是参数P1、P2的取值 mask=[1 1 1 1 0 0 0 0

您可能关注的文档

文档评论(0)

三四五 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档