图像变换编码实验说明

图像变换编码程序设计实验指导

一、实验简介:

数据压缩技术是多媒体应用和音视频传输系统的核心技术之一。变换编码是最常用的图像压缩方法之一,JPEG 和JPEG2000等图像标准都采用了变换编码方法。本实验的主要任务是设计一个基于变换编码的图像压缩和解压缩程序。这是一个综合性的设计类实验,指导教师给出部分范例程序(比如图像分块变换、编码等正向操作函数),学生利用所学理论知识分析程序设计思路,并逐个模块进行测试,然后仿照范例程序编写其余的函数(比如图像逆变换、解码等所有逆向操作函数)。通过实验,学生将更深入地了解图像压缩原理及实现方法,而且编程能力也将得到进一步提高。

二、实验内容:

1. 编写两个函数,分别实现对图像进行分块Image2Block 和合并图像分块Block2Image 的功能。

分块函数Image2Block 输入参数是二维图像数据、分块尺寸以及图像边缘填充模式(1:填充0,2:重复边缘像素值),输出结果为图像分块阵列;合并函数Block2Image 的输入参数是分块阵列和原始图像的尺寸。

2. 编写两个函数,分别实现二维DCT 变换Block2Dct 和逆变换Dct2Block 。

正变换Block2Dct 函数的输入参数是二维矩阵,输出参数是DCT 变换系数;逆变换Dct2Block 函数的输入参数是二维DCT 系数,输出参数是逆变换后的矩阵。

3. 编写两个函数,分别实现DCT 变换系数的量化Dct2Quant 和逆量化Quant 2Dct 。

量化函数Dct2Quant 的输入参数是原始的DCT 变换系数和量化步长矩阵;逆量化函数Quant 2Dct 的输入参数是量化后的DCT 变换系数和量化步长矩阵。

4. 编写两个函数,分别实现对图像进行分块DCT 变换并量化Image2DctQ 及其逆过程DctQ2Image 。

函数Image2DctQ 调用前面的分块Imag2Block 和变换Block2Dct 以及量化Dct2Quant 等三个函数,实现对图像进行分块DCT 变换并量化。函数DctQ2Image

调用相应的逆函数来实现上述逆过程。

5. 编写两个函数,实现图像的变换编码Image2Transform 和解码Transform2Image 。

函数Image2Transform 调用Image2DctQ 对图像分块变换和量化,然后对量化后的DCT 系数进行ZigZag 扫描,最后进行行程编码RLE (以及霍夫曼编码,任选);函数Image2Transform 调用相应的逆函数来实现上述逆过程。

三、实验要求:

1. 图像分块、DCT 变换以及量化等函数及其逆函数都必须自己编写,不能使用Matlab 工具箱提供的现成函数。

2. 编写完每个函数,分别进行单独调试,给出调试代码和调试结果。

四、实验步骤:

1. 在自己电脑上安装好编程软件,并配置好开发环境。本实验建议使用MATLAB 工具软件,学生也可自由选择其它编程语言和工具。

2. 复习有关图像变换编码的理论知识,掌握DCT 变换原理和JPEG 图像压缩原理。还有一个前提条件是,必须熟悉MATLAB 或其它将使用的编程语言和工具。

3. 运行和调试指导教师给出的部分范例程序,结合相关理论知识,并参考源代码中给出的注释,分析各算法思路和编程方法;仿照示例,编写实验任务规定的其它程序模块。

4. 调试和修改程序,直至运行成功。并记录实验结果。

5. 撰写实验报告。

五、实验报告要求:

1. 说明图像变换和压缩编码的原理

2. 给出程序源代码,并添加足够的注释。

3. 给出实验结果,并分析。补充说明:可给出不同类型的图像,给各程序模块设置不同的参数,从而得到不同的实验结果,再对实验结果进行比较和分析。最后得到的图像压缩比为多少?

4. 思考:(1)图像编码过程中哪些步骤是无损的(不会丢失信息) ?哪些步骤能压缩数据?(2)如何进一步提高图像压缩率?

(本实验撰稿:陈科文)

图像变换编码程序设计实验指导

一、实验简介:

数据压缩技术是多媒体应用和音视频传输系统的核心技术之一。变换编码是最常用的图像压缩方法之一,JPEG 和JPEG2000等图像标准都采用了变换编码方法。本实验的主要任务是设计一个基于变换编码的图像压缩和解压缩程序。这是一个综合性的设计类实验,指导教师给出部分范例程序(比如图像分块变换、编码等正向操作函数),学生利用所学理论知识分析程序设计思路,并逐个模块进行测试,然后仿照范例程序编写其余的函数(比如图像逆变换、解码等所有逆向操作函数)。通过实验,学生将更深入地了解图像压缩原理及实现方法,而且编程能力也将得到进一步提高。

二、实验内容:

1. 编写两个函数,分别实现对图像进行分块Image2Block 和合并图像分块Block2Image 的功能。

分块函数Image2Block 输入参数是二维图像数据、分块尺寸以及图像边缘填充模式(1:填充0,2:重复边缘像素值),输出结果为图像分块阵列;合并函数Block2Image 的输入参数是分块阵列和原始图像的尺寸。

2. 编写两个函数,分别实现二维DCT 变换Block2Dct 和逆变换Dct2Block 。

正变换Block2Dct 函数的输入参数是二维矩阵,输出参数是DCT 变换系数;逆变换Dct2Block 函数的输入参数是二维DCT 系数,输出参数是逆变换后的矩阵。

3. 编写两个函数,分别实现DCT 变换系数的量化Dct2Quant 和逆量化Quant 2Dct 。

量化函数Dct2Quant 的输入参数是原始的DCT 变换系数和量化步长矩阵;逆量化函数Quant 2Dct 的输入参数是量化后的DCT 变换系数和量化步长矩阵。

4. 编写两个函数,分别实现对图像进行分块DCT 变换并量化Image2DctQ 及其逆过程DctQ2Image 。

函数Image2DctQ 调用前面的分块Imag2Block 和变换Block2Dct 以及量化Dct2Quant 等三个函数,实现对图像进行分块DCT 变换并量化。函数DctQ2Image

调用相应的逆函数来实现上述逆过程。

5. 编写两个函数,实现图像的变换编码Image2Transform 和解码Transform2Image 。

函数Image2Transform 调用Image2DctQ 对图像分块变换和量化,然后对量化后的DCT 系数进行ZigZag 扫描,最后进行行程编码RLE (以及霍夫曼编码,任选);函数Image2Transform 调用相应的逆函数来实现上述逆过程。

三、实验要求:

1. 图像分块、DCT 变换以及量化等函数及其逆函数都必须自己编写,不能使用Matlab 工具箱提供的现成函数。

2. 编写完每个函数,分别进行单独调试,给出调试代码和调试结果。

四、实验步骤:

1. 在自己电脑上安装好编程软件,并配置好开发环境。本实验建议使用MATLAB 工具软件,学生也可自由选择其它编程语言和工具。

2. 复习有关图像变换编码的理论知识,掌握DCT 变换原理和JPEG 图像压缩原理。还有一个前提条件是,必须熟悉MATLAB 或其它将使用的编程语言和工具。

3. 运行和调试指导教师给出的部分范例程序,结合相关理论知识,并参考源代码中给出的注释,分析各算法思路和编程方法;仿照示例,编写实验任务规定的其它程序模块。

4. 调试和修改程序,直至运行成功。并记录实验结果。

5. 撰写实验报告。

五、实验报告要求:

1. 说明图像变换和压缩编码的原理

2. 给出程序源代码,并添加足够的注释。

3. 给出实验结果,并分析。补充说明:可给出不同类型的图像,给各程序模块设置不同的参数,从而得到不同的实验结果,再对实验结果进行比较和分析。最后得到的图像压缩比为多少?

4. 思考:(1)图像编码过程中哪些步骤是无损的(不会丢失信息) ?哪些步骤能压缩数据?(2)如何进一步提高图像压缩率?

(本实验撰稿:陈科文)


相关内容

  • 光学图像信息处理
  • 课 题 光学图像信息处理 1.了解光学图像信息处理的基本理论和技术 教 学 目 的 2.掌握光的衍射.光学傅里叶变换.频谱分析及频谱滤波的原 理和技术. 重 难 点 1.光具组各元件的共轴调节: 2.傅里叶变换原理的理解. 教 学 方 法 讲授.讨论.实验演示相结合. 学 时 3个学时 一.前言 光 ...

  • 图像压缩编码
  • 图像压缩编码 物电学院 114班 11223313 戚善桃 摘要:随着科学技术的发展, 图像压缩技术越来越引起人们的关注.为此从众多的图像压缩编码标准中选取了基于DCT 变换的JPEG 图像压缩编码算法进行研究,并通过对比分析各种软件特性选取了MATLAB 进行实验仿真. 首先说明了图像压缩在现代通 ...

  • 多媒体通信课程实验报告
  • 实验2<图像处理实验> 实验学时: 4 实验地点: 第一综合楼 实验日期: 2014年6月 9日 一.实验目的 图像文件解析及处理实验的目的是让学生了解常用图像文件的格式和基本的图像处理方法,并掌握相关的编程技术.本实验不仅能让学生巩固和扩展所学理论知识,同时可提高编程实践能力,为进一步 ...

  • 一种基于非重叠正方形NAM的灰度图像表示方法
  • [摘要]针对三角形子模式的不足,使用正方形作为NAM表示模型的预定义子模式,提出了一种新的灰度图像表示方法.从单个子模式需记录的参数.算法时间复杂度.编码产生的总数据量等方面进行了理论分析,实验表明:与灰度图像的TNAMG表示方法和LQT表示方法相比,本文方法能够显著减少目标块记录的数量并节省数据存 ...

  • 信息论与编码课程论文
  • <信息论与编码>课程论文 压缩感知技术综述 学院(系): 专 业: 班 级: 学生姓名: 学 号: 教 师: 2016年 5月 1日 压缩感知技术综述 摘要:信号采样是模拟的物理世界通向数字的信息世界之必备手段.多年来,指导信号采样的理论基础一直是著名的Nyquist采样定理,但其产生的 ...

  • 毕业设计内容
  • 来自摘要: 率失真理论研究在限定失真的情况下,为了恢复信源符号所必需的信息率. 如果信源输出的信息率大于信道的传输能力,就必须对信源进行压缩,但同时要 保证压缩所引入的失真不超过预先规定的限度.由于数字视频的信息量巨大,如 何有效地存储视频信息以及在有限的带宽下对其进行传输及应用是一个亚待解决 的问 ...

  • 基于矢量量化编码的数据压缩算法的研究与实现
  • 2.3矢量量化的相关概念10 2.4矢量量化的关键技术及技术指标13 第三章矢量量化的算法研究16 3.1矢量量化码书设计算法的研究16 3.1.1经典的LBG 算法16 3.1.2MD 算法18 3.1.3码书设计算法比较19 3.2码字搜索算法20 3.2.1基于不等式的快速码字搜索算法20 3 ...

  • 数字图像处理课程设计题目分配
  • 关于<数字图像处理>课程设计的安排和要求 1.时间:<数字图像处理>课设属于综合实践课,设计时间为2周. 2.时间安排: 19-20周. 3.实验工具:Matlab 语言. 4.要求:图书馆借阅相关书籍并上网查阅相关文献资料,严格按指定要求完成设计. 每个程序或模块都必须做到 ...

  • 小波分析在生物医学信号_图像处理中的应用
  • 第23卷第3期增刊 仪 器 仪 表 学 报 2002年6月 小波分析在生物医学信号/图像处理中的应用 杨胜波 于春梅 (西南科技大学 绵阳 621002) 摘要 分析生物医学信号/图像的特点,阐述了小波变换在医学信号检测与去噪.图像增强与压缩中的应用及商业前景.关键词 小波 生物医学 信号分析 图像 ...