数字图像处理 实验八 图像变换压缩编码

实验八 图像变换压缩编码

一, 实验目的:

1,掌握变换压缩编码的原理与方法

2,了解有损压缩图像质量评价的指标

二, 实验条件

1,MATLAB 软件

2,典型的灰度,彩色图像。

三, 实验原理

1,去除数据冗余度可以有效地压缩数据

2,图像编码压缩的主要技术指标:压缩比,客观评价SNR ,主观评价 四, 实验内容

1,以DCT 变换为例,采用标准亮度量化表,得有损压缩的变换值,计算并显示其直方图

2,采用标准量化表将上述变换值反量化回去后用IDCT 变换回图像,比较并计算压缩前后图像的差异(MSE ,PSNR 等)

3,根据由1计算得到的直方图试判断采用Huffman 编码的平均码长。 五, 实验步骤

1,以DCT 变换为例,采用标准亮度量化表,得有损压缩的变换值,计算并显示其直方图

(1)代码如下所示

I=imread('a.jpg');

J=rgb2gray(I);

J=imresize(J,[512 512]);

%imshow(J);

A=zeros(8,8);

B=zeros(512,512);

lighttable=... %标准亮度量化表

[16 11 10 16 24 40 51 61,

12 12 14 19 26 58 60 55,

14 13 16 24 40 57 69 56,

14 17 22 29 51 87 80 62,

18 22 37 56 68 109 103 77,

24 35 55 64 81 104 113 92,

49 64 78 87 103 121 120 101,

72 92 95 98 112 100 103 99];

for i=1:64 %用i ,j 来控制子块

for j=1:64

for m=(8*(i-1)+1):8*i

for n=(8*(j-1)+1):8*j

A(m-(8*(i-1)+1)+1,n-(8*(j-1)+1)+1)=J(m,n);%提取

8*8子块

end

end

C1=dct2(A); %对子块进行dct2变换 C2=round(C1./lighttable); %将C1进行量化,并取整

for p=1:8 %将子块按序存进512*512的矩

阵中

for q=1:8

B(p+8*(i-1),q+8*(j-1))=C2(p,q);

end

end

end

end

H=zeros(1,256*2-1);

for i=1:m

for j=1:n

H(B(i,j)+255)=H(B(i,j)+255)+1; %统计各值概率 end

end

X=[-255:255];

plot(X,H); %绘制坐标为-255—255的直方图

(2)直方图如下所示

2.5x 10

5

2

1.5

1

0.5

0-300-200-[1**********]00

2,采用标准量化表将上述变换值反量化回去后用IDCT 变换回图像,比

较并计算压缩前后图像的差异(MSE ,PSNR 等)

(1)代码如下所示

for i=1:64 %用i ,j 来控制子块

for j=1:64

for m=(8*(i-1)+1):8*i

for n=(8*(j-1)+1):8*j

A(m-(8*(i-1)+1)+1,n-(8*(j-1)+1)+1)=B(m,n);

end

end

C3=A.*lighttable; %将子块反量化回去

C4=idct2(C3); %对C3进行IDCT 变换

for p=1:8

for q=1:8

D(p+8*(i-1),q+8*(j-1))=C4(p,q);

end

end

end

end

D=uint8(D);

subplot(1,2,1),imshow(J);

subplot(1,2,2),imshow(D);

%计算J 和D 均方根误差

e = double(J) - double(D);

[m, n] = size(e);

MSE = sqrt(sum(sum(e.^2))/(m*n));

k = 8;

%k为图像是表示地个像素点所用的二进制位数,即位深。

fmax = 2.^k - 1;

a = fmax.^2;

b = sum(sum(e.^2));

PSNR = 10*log(m*n*a/b);

(2)显示压缩前后图像

(3)显示MSE 和PSNR 的值

MSE=4.4339

PSNR=81.04

3,根据由1计算得到的直方图试判断采用Huffman 编码的平均码长。 答:由1的直方图可以确定一个大的分布值为-3—3。即编码需要的比特数位3位。其中有一位来表示正负。

六, 讨论与分析

1,有可能增强压缩效率的部分在哪里?

在取直方图的时候,综合整幅图像的数据。使得值分布得更集中,可以更有效地去除数据冗余度从而压缩数据。

实验八 图像变换压缩编码

一, 实验目的:

1,掌握变换压缩编码的原理与方法

2,了解有损压缩图像质量评价的指标

二, 实验条件

1,MATLAB 软件

2,典型的灰度,彩色图像。

三, 实验原理

1,去除数据冗余度可以有效地压缩数据

2,图像编码压缩的主要技术指标:压缩比,客观评价SNR ,主观评价 四, 实验内容

1,以DCT 变换为例,采用标准亮度量化表,得有损压缩的变换值,计算并显示其直方图

2,采用标准量化表将上述变换值反量化回去后用IDCT 变换回图像,比较并计算压缩前后图像的差异(MSE ,PSNR 等)

3,根据由1计算得到的直方图试判断采用Huffman 编码的平均码长。 五, 实验步骤

1,以DCT 变换为例,采用标准亮度量化表,得有损压缩的变换值,计算并显示其直方图

(1)代码如下所示

I=imread('a.jpg');

J=rgb2gray(I);

J=imresize(J,[512 512]);

%imshow(J);

A=zeros(8,8);

B=zeros(512,512);

lighttable=... %标准亮度量化表

[16 11 10 16 24 40 51 61,

12 12 14 19 26 58 60 55,

14 13 16 24 40 57 69 56,

14 17 22 29 51 87 80 62,

18 22 37 56 68 109 103 77,

24 35 55 64 81 104 113 92,

49 64 78 87 103 121 120 101,

72 92 95 98 112 100 103 99];

for i=1:64 %用i ,j 来控制子块

for j=1:64

for m=(8*(i-1)+1):8*i

for n=(8*(j-1)+1):8*j

A(m-(8*(i-1)+1)+1,n-(8*(j-1)+1)+1)=J(m,n);%提取

8*8子块

end

end

C1=dct2(A); %对子块进行dct2变换 C2=round(C1./lighttable); %将C1进行量化,并取整

for p=1:8 %将子块按序存进512*512的矩

阵中

for q=1:8

B(p+8*(i-1),q+8*(j-1))=C2(p,q);

end

end

end

end

H=zeros(1,256*2-1);

for i=1:m

for j=1:n

H(B(i,j)+255)=H(B(i,j)+255)+1; %统计各值概率 end

end

X=[-255:255];

plot(X,H); %绘制坐标为-255—255的直方图

(2)直方图如下所示

2.5x 10

5

2

1.5

1

0.5

0-300-200-[1**********]00

2,采用标准量化表将上述变换值反量化回去后用IDCT 变换回图像,比

较并计算压缩前后图像的差异(MSE ,PSNR 等)

(1)代码如下所示

for i=1:64 %用i ,j 来控制子块

for j=1:64

for m=(8*(i-1)+1):8*i

for n=(8*(j-1)+1):8*j

A(m-(8*(i-1)+1)+1,n-(8*(j-1)+1)+1)=B(m,n);

end

end

C3=A.*lighttable; %将子块反量化回去

C4=idct2(C3); %对C3进行IDCT 变换

for p=1:8

for q=1:8

D(p+8*(i-1),q+8*(j-1))=C4(p,q);

end

end

end

end

D=uint8(D);

subplot(1,2,1),imshow(J);

subplot(1,2,2),imshow(D);

%计算J 和D 均方根误差

e = double(J) - double(D);

[m, n] = size(e);

MSE = sqrt(sum(sum(e.^2))/(m*n));

k = 8;

%k为图像是表示地个像素点所用的二进制位数,即位深。

fmax = 2.^k - 1;

a = fmax.^2;

b = sum(sum(e.^2));

PSNR = 10*log(m*n*a/b);

(2)显示压缩前后图像

(3)显示MSE 和PSNR 的值

MSE=4.4339

PSNR=81.04

3,根据由1计算得到的直方图试判断采用Huffman 编码的平均码长。 答:由1的直方图可以确定一个大的分布值为-3—3。即编码需要的比特数位3位。其中有一位来表示正负。

六, 讨论与分析

1,有可能增强压缩效率的部分在哪里?

在取直方图的时候,综合整幅图像的数据。使得值分布得更集中,可以更有效地去除数据冗余度从而压缩数据。


相关文章

  • 数字图像处理实验报告
  • 实验一:数字图像基本操作及灰度调整 1.实验目的 1) 2) 3) 4) 掌握读.写图像的基本方法. 掌握MATLAB 语言中图像数据与信息的读取方法. 理解图像灰度变换处理在图像增强的作用. 掌握绘制灰度直方图的方法,理解灰度直方图的灰度 ...查看


  • 南京邮电大学图像实验
  • 通信与信息工程学院 2016/2017学年第一学期 实 验 报 告 实验课程名称 数字图像处理与图像通信实验 专 业 电子信息工程 学 生 学 号 学 生 姓 名 指 导 教 师 谢世鹏 指 导 单 位 广播工程电视系 实验一 图像信号的数 ...查看


  • 浅析图像压缩编码方法
  • Computer 与技术电脑知识与技术Computer Knowledge Knowledge and and Technology Technology 电脑知识 Vol.6,No.23, August 2010, pp.6584-658 ...查看


  • 基于MATLAB的图像压缩技术研究
  • 第12期2008年12月 山西焦煤科技 ShanxiCokingCoalScience&Technology NO.12Dec.2()08 ・试验研究・ 基于MATLAB的图像压缩技术研究 吕金花① (山西汾西煤化高级技工学校) 摘 ...查看


  • 利用离散余弦变换进行图像压缩的方法_沙磊
  • 第24卷 第3期 1997年7月 成都理工学院学报 JO U R NA L O F CHENG DU U NI VER SI T Y OF T ECHN OL O GY V ol. 24N o. 3Jul. 1997 利用离散余弦变换进行图 ...查看


  • 数字媒体技术导论复习参考
  • 数字媒体技术导论复习参考 第1章数字媒体技术概论 1. 媒体概念.分类及特性 媒体概念是:媒体包括两层含义: (1)传递信息的载体,称为媒介,是由人类发明创造的记录和表述信息的抽象载体,也称为逻辑载体,如文字.符号.图形.编码等. (2)存 ...查看


  • 多媒体技术与应用实验指导书(终稿)
  • 目录 实验一 了解多媒体知识以及软件工具 .................................................. 1 实验二 声音信号的获取与处理 ............................... ...查看


  • 多媒体应用设计师历年真题之多媒体知识点
  • 多媒体软件设计师之多媒体知识点 1. 数字化音频的质量取决于采样频率和量化位数,B 位二进制数字可以表示 2 个 不同的量化电平. 2. 人眼看到的任一彩色光都是亮度.色调和饱和度三个特性的综合效果,其中色调反映颜色的种类. 3. MPC与 ...查看


  • 音频压缩和视频压缩方法的对比
  • 音频压缩和视频压缩方法的对比 --中国人民公安大学 2012级安防四区 苏东祥 摘要: 视频压缩和音频压缩的原理都是利用人的视觉和听觉特性,通过将视频与音频中的原始信号中包含的冗余信号给去除掉,再进行各种多样的编码方式,从而达成对视频和音频 ...查看


热门内容