教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 资格考试 >

6实验指导书-专业课程设计I-信工 - 图文(10)

来源:网络收集 时间:2026-07-24
导读: 实验九:图像编码实验 一、实验目的 1、理解图像质量评价指标及含义; 2、掌握变换图像编码原理与编程方法; 3、掌握近似JEPG图像编码原理与编程方法; 5、利用MATLAB语言自己实现常用图像编码算法,并对恢复重构的

实验九:图像编码实验

一、实验目的

1、理解图像质量评价指标及含义; 2、掌握变换图像编码原理与编程方法; 3、掌握近似JEPG图像编码原理与编程方法;

5、利用MATLAB语言自己实现常用图像编码算法,并对恢复重构的图像进行质量评价。

二、实验设备:

1、PC机或笔记本电脑,Windows操作系统; 2、安装Matlab软件,准备实验相关图像或M文件;

3、按照如下实验内容与步骤,编写相应Matlab程序,完成实验任务。 三、实验原理

JPEG编码原理与步骤(彩色图像编码,后续实验中只做灰度图像编码,其原理是相同的): 1、 数据分块

对图像进行编码前,将每个分量图像分割成不重叠的8×8像素块, 每一个8×8像素块称为一个数据单元(DU)。在彩色图像中, JPEG分别压缩图像的每个彩色分量。虽然JPEG可以压缩通常的红绿蓝分量,但在YCbCr空间的压缩效果会更好。这是因为人眼对色彩的变化不如对亮度的变化敏感,因而对色彩的编码可以比对亮度的编码粗糙些,这主要体现在不同的采样频率和量化精度上。因此,编码前一般先将图像从RGB空间转换到YCbCr空间,再把各分量图像分割成8×8数据块。

在对图像采样时,可以采用不同的采样频率,这种技术称为二次采样。由于亮度比色彩更重要,因而对Y分量的采样频率可高于对Cb、Cr的采样频率,这样有利于节省存储空间。常用的采样方案有YUV422和YUV411。把采样频率最低的分量图像中一个DU所对应的像区上覆盖的所有各分量上的DU按顺序编组为一个最小编码单元(MCU)。对灰度图像而言,只有一个Y分量,MCU就是一个数据单元。而对彩色图像而言,以4:1:1的采样方案为例,则一个MCU由4个Y分量的DU、1个Cb分量的DU和1个Cr分量的DU组成。 2、 DCT处理

图像数据块分割后,即以MCU为单位顺序将DU进行二维离散余弦变换。对以无符号数表示的具有P位精度的输入数据, 在DCT前要减去2P-1,转换成有符号数,而在IDCT后,应加上2P-1,转换成无符号数。对每个8×8的数据块DU进行DCT后, 得到的64个系数代表了该图像块的频率成分,其中低频分量集中在左上角, 高频分量分布在右下角。系数矩阵左上角的叫做直流(DC)系数,它代表了该数据块的平均值,其余63个叫交流(AC)系数。 3、系数量化

在DCT处理中得到的64个系数中,低频分量包含了图像亮度等主要信息。在从空间域到频域的变换中,图像中的缓慢变化比快速变化更易引起人眼的注意, 所以在重建图像时,低频分量的重要性高于高频分量。因而在编码时可以忽略高频分量, 从而达到压缩的目的,这也是量化的根据和目的。

在JPEG标准中,用具有64个独立元素的量化表来规定DCT域中相应的64个系数的量化精度,使得对某个系数的具体量化阶取决于人眼对该频率分量的视觉敏感程度。理论上,对不同的空间分辨率、数据精度等情况,应该有不同的量化表。不过,一般采用下图所示的量化表,可取得较好的视觉效果。

43

之所以用两张量化表,是因为Y分量比Cb和Cr更重要些,因而对Y采用细量化,而对Cb和Cr采用粗量化。量化就是用DCT变换后的系数除以量化表中相对应的量化阶后四舍五入取整。由于量化表中左上角的值较小,而右下角的值较大, 因而起到了保持低频分量、 抑制高频分量的作用。

17182447999999991821266699999999242656999999999947669999999999999999999999999999999999999999999999999999999999999999999999999999

1611101624405161121214192658605514131624405769561417222951878062182237566810910377243555648110411392496478871031211201017292959811210010399

亮度量化表 色度量化表

4、 Z型扫描

DCT系数量化后,构成一个稀疏矩阵,用Z(Zigzag)形扫描将其变成一维数列,将有利于熵编码。Z形扫描的顺序如图:

5、 DC系数编码

DC系数反映了一个8×8数据块的平均亮度,一般与相邻块有较大的相关性。JPEG对DC系数作差分编码,即用前一数据块的同一分量的DC系数作为当前块的预测值,再对当前块的实际值与预测值的差值作哈夫曼编码。

若DC系数的动态范围为-1024~+1024,则差值的动态范围为-2047~+2047。如果为每个差值赋予一个码字, 则码表过于庞大。因此,JPEG对码表进行了简化,采用“前缀码(SSSS)+尾码”来表示。前缀码指明了尾码的有效位数B, 可以根据DIFF从表10-8中查出前缀码对应的哈夫曼编码。尾码的取值取决于DC系数的差值和前缀码。如果DC系数的差值DIFF大于等于0,则尾码的码字为DIFF的B位原码;否则,取DIFF的B位反码。 6、 AC系数编码

经Z形排列后的AC系数,更有可能出现连续0组成的字符串, 从而对其进行行程编码将有利于压缩数据。JPEG将一个非零DC系数及其前面的0行程长度(连续0的个数)的组合称为一个事件。将每个事件编码表示为“NNNN/SSSS+尾码”, 其中, NNNN为0行程的长度,SSSS表示尾码的有效位数B(即当前非0系数所占的比特数),如果非零AC系数大于等于0, 则尾码的码字为该系数的B位原码, 否则, 取该系数的B位反码。

44

由于只用4位表示0行程的长度,故在JPEG编码中,最大0行程只能等于15。当0行程长度大于16时,需要将其分开多次编码, 即对前面的每16个0以“F/0”表示,对剩余的继续编码。

四、练习内容

启动电脑,打开MATLAB编程编程环境,尝试建立以下M文件,且认真阅读相关代码,分析其功能,按“第五部分的要求”,完成相关实验:

1、行程编码(RLE)

clear all;

I=imread('girl.bmp'); %读入图像数据 [zipped,info]=RLEncode(I); %调用RLE进行编码 unzipped=RLEdecode(zipped,info) %调用解码程序进行解码

%显示原始图像和经编码解码后的图像,显示压缩比,并计算均方根误差得erms=0,表示%RLE是无失真编码

subplot(121);imshow(I);

subplot(122);imshow(unzipped); erms=compare(I(:),unzipped(:)) cr=info.ratio

whos I unzipped zipped

%说明:编码子程序

function [zipped,info]=RLEncode(vector)

[m,n]=size(vector); vector=vector(:)';

vector=uint8(vector(:)); L=length(vector);

c=vector(1);e(1,1)=c;e(1,2)=0; %e(:,1)存放灰度,e(:,2)存放行程 t1=1 for j=1:L

if((vector(j)==c))

e(t1,2)=double(e(t1,2))+1; else

c=vector(j); t1=t1+1; e(t1,1)=c; e(t1,2)=1; end end

zipped=e; info.rows=m; info.cols=n; [m,n]=size(e);

info.ratio=m*n/(info.rows*info.cols);

%说明:解码子程序

function unzipped=RLEdecode(zip,info)

zip=uint8(zip); [m,n]=size(zip); unzipped=[]; for i=1:m

section=repmat(zip(i,1),1,double(zip(i,2))); unzipped=[unzipped section]; end

unzipped=reshape(unzipped,info.rows,info.cols); %%程序结束

下面程序是对cameraman.tif二值化后的图像用行程编码:

45

I=imread('cameraman.tif');

I=im2bw(I,0.4); %图像二值化 [zipped,info]=RLEncode(I);

unzipped=RLEdecode(zipped,inf …… 此处隐藏:4613字,全部文档内容请下载后查看。喜欢就下载吧 ……

6实验指导书-专业课程设计I-信工 - 图文(10).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/413363.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)