多媒体通信课程实验报告

实验2《图像处理实验》

实验学时: 4 实验地点: 第一综合楼 实验日期: 2014年6月 9日

一、实验目的

图像文件解析及处理实验的目的是让学生了解常用图像文件的格式和基本的图像处理方法,并掌握相关的编程技术。本实验不仅能让学生巩固和扩展所学理论知识,同时可提高编程实践能力,为进一步从事图像处理和多媒体技术的研究与开发奠定基础。

二、实验内容

本实验主要任务有两个:一是对Bitmap 位图文件(*.bmp)的格式进行分析,编写程序从图像文件中读取像素阵列数据;二是编写程序对图像进行处理,比如:图像压缩编码、增强对比度、检测边缘、彩色变黑白、翻转或旋转、平滑去噪、缩小放大、调节透明度、等等,要求至少实现3种方式的图像处理。 要求:(1)能识别不同格式的位图文件(*.bmp),能正确地读取文件中的像素阵列数据,能根据已获取的像素数据绘制图像;(2)编程实现3种以上图像处理算法,并显示处理后的图像,以便观看处理效果。

三、实验步骤

1. 在电脑上安装好相应的编程工具软件,试运行教师提供的范例程序。 2. 分析范例程序的源代码,了解基本编程思路。

3. 查阅有关BMP 文件格式和图像处理技术的文献资料,结合范例程序源代码,深入理解图像处理原理及实现方法。

4. 仿照范例程序,编写实现新的图像文件解析与处理算法。 5. 调试和修改程序,直至能成功运行。

四、实验结果

本次实验分别实现了图形的增强对比度、黑白图像及浮雕三种效果 1、增强对比度:

代码: Dim bmp1 As Bitmap = PictureBox1.Image

Dim bmp2 As New Bitmap(bmp1.Width, bmp1.Height, Imaging.PixelFormat.Format24bppRgb)

' 循环扫描图像的像素,求平均颜色值. Dim x, y As Integer Dim pixelColor As Color Dim avgValue(2) As Double avgValue(0) = 0 avgValue(1) = 0 avgValue(2) = 0

Dim clrAvg As Double = 0

For x = 0 To bmp1.Width - 1 For y = 0 To bmp1.Height - 1

pixelColor = bmp1.GetPixel(x, y) 'pixelColor 的属性R,G ,B 为Byte 类型

'avgValue(0) = avgValue(0) + CInt(pixelColor.R) '三基色分别累加 'avgValue(1) = avgValue(1) + CInt(pixelColor.G) 'avgValue(2) = avgValue(2) + CInt(pixelColor.B)

clrAvg = clrAvg + (Int(pixelColor.R) + Int(pixelColor.G) + Int(pixelColor.B)) / 3.0 ' 改为亮度公式计算可能更好 Next Next

'Dim num = bmp1.Width * bmp1.Height

'avgValue(0) = CInt(avgValue(0) / num) ' 三基色分别求平均值 'avgValue(1) = CInt(avgValue(1) / num) 'avgValue(2) = CInt(avgValue(2) / num)

clrAvg = clrAvg / (bmp1.Width * bmp1.Height) ' 三基色的总平均值 avgValue(0) = clrAvg avgValue(1) = clrAvg avgValue(2) = clrAvg

' 循环扫描图像的像素,按比例调节颜色值. Dim clrRgb(2) As Integer For x = 0 To bmp1.Width - 1 For y = 0 To bmp1.Height - 1 pixelColor = bmp1.GetPixel(x, y) If pixelColor.R > avgValue(0) Then

clrRgb(0) = CInt (pixelColor.R * factor) ' 对比度增强系数factor > 1 If clrRgb(0) > 255 Then clrRgb(0) = 255 Else

clrRgb(0) = CInt (pixelColor.R / factor) End If

If pixelColor.G > avgValue(1) Then clrRgb(1) = CInt (pixelColor.G * factor) If clrRgb(1) > 255 Then clrRgb(1) = 255 Else

clrRgb(1) = CInt (pixelColor.G / factor) End If

If pixelColor.B > avgValue(2) Then clrRgb(2) = CInt (pixelColor.B * factor) If clrRgb(2) > 255 Then clrRgb(2) = 255 Else

clrRgb(2) = CInt (pixelColor.B / factor)

End If

Dim newColor As Color = Color.FromArgb(clrRgb(0), clrRgb(1), clrRgb(2)) bmp2.SetPixel(x, y, newColor) ' 设置像素的新颜色。 Next Next

' 设置PictureBox 控件,以便显示图像 PictureBox2.Image = bmp2

图像显示:

2、黑白图像处理:

代码: Dim bmp1 As Bitmap = PictureBox1.Image

Dim bmp2 As New Bitmap(bmp1.Width, bmp1.Height, Imaging.PixelFormat.Format24bppRgb)

' 循环扫描图像的像素,求平均颜色值. Dim x, y As Integer Dim pixelColor As Color Dim avgValue(2) As Double avgValue(0) = 0 avgValue(1) = 0 avgValue(2) = 0

Dim clrAvg As Double = 0

For x = 0 To bmp1.Width - 1 For y = 0 To bmp1.Height - 1

pixelColor = bmp1.GetPixel(x, y) 'pixelColor 的属性R,G ,B 为Byte 类型

'avgValue(0) = avgValue(0) + CInt(pixelColor.R) '三基色分别累加 'avgValue(1) = avgValue(1) + CInt(pixelColor.G) 'avgValue(2) = avgValue(2) + CInt(pixelColor.B)

clrAvg = CInt ((Int(pixelColor.R) + Int(pixelColor.G) + Int(pixelColor.B)) / 3.0) ' 改为亮度公式计算可能更好

Dim newColor As Color = Color.FromArgb(clrAvg, clrAvg, clrAvg) bmp2.SetPixel(x, y, newColor) ' 设置像素的新颜色。 Next Next

PictureBox2.Image = bmp2 PictureBox2.Show()

图像显示:

3、浮雕效果:

代码:Dim bmp1 As Bitmap = PictureBox1.Image

Dim bmp2 As New Bitmap(bmp1.Width, bmp1.Height, Imaging.PixelFormat.Format24bppRgb)

' 循环扫描图像的像素,求平均颜色值. Dim x, y As Integer Dim pixelColor As Color Dim pixelColor1 As Color Dim avgValue(2) As Double

avgValue(0) = 0 avgValue(1) = 0 avgValue(2) = 0

Dim clrAvg1 As Double = 0 Dim clrAvg2 As Double = 0 Dim clrAvg3 As Double = 0

For x = 1 To bmp1.Width - 2

For y = 1 To bmp1.Height - 2

pixelColor = bmp1.GetPixel(x, y) 'pixelColor 的属性R,G ,B 为Byte 类型 pixelColor1 = bmp1.GetPixel(x - 1, y - 1) 'pixelColor 的属性R,G ,B 为Byte 类型 'If (x - 1) 255 Then x = 255 'If (y - 1) > 255 Then y = 255

'avgValue(0) = avgValue(0) + CInt(pixelColor.R) '三基色分别累加 'avgValue(1) = avgValue(1) + CInt(pixelColor.G) 'avgValue(2) = avgValue(2) + CInt(pixelColor.B)

clrAvg1 = CInt ((Int(pixelColor.R) - Int(pixelColor1.R) + 128)) ' 改为亮度公式计算可能更好(三色的平均值

clrAvg2 = CInt ((Int(pixelColor.G) - Int(pixelColor1.G) + 128)) clrAvg3 = CInt ((Int(pixelColor.B) - Int(pixelColor1.B) + 128)) If clrAvg1 255 Then clrAvg1 = 255 If clrAvg2 > 255 Then clrAvg2 = 255 If clrAvg3 > 255 Then clrAvg3 = 255 'If (y - 1) 255 Then x = 255 'If (y - 1) > 255 Then y = 255

Dim newColor As Color = Color.FromArgb(clrAvg1, clrAvg2, clrAvg3) '[当前-左上角+平均值颜色值(~255)]

bmp2.SetPixel(x, y, newColor) ' 设置像素的新颜色。 Next Next

'Dim num = bmp1.Width * bmp1.Height

'avgValue(0) = CInt(avgValue(0) / num) ' 三基色分别求平均值 'avgValue(1) = CInt(avgValue(1) / num) 'avgValue(2) = CInt(avgValue(2) / num) ' 设置PictureBox 控件,以便显示图像 PictureBox2.Image = bmp2 PictureBox2.Show()

图像显示:

五、 实验小结:

通过本次实验我基本熟悉了图像处理的实例应用,清楚了几种边缘检测中常用的算子的效果;掌握了几种模板的作用。达到了实验的目的。

实验3《图像处理实验》

实验学时: 4 实验地点: 第一综合楼 实验日期: 2014年6月 13日

一、实验目的

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

1. 编写两个函数,分别实现对图像进行分块Image2Block 和合并图像分块Block2Image 的功能。分块函数Image2Block 输入参数是二维图像数据、分块尺寸以及图像边缘填充模式(1:填充0,2:重复边缘像素值),输出结果为图像分块阵列;合并函数Block2Image 的输入参数是分块阵列和原始图像的尺寸。

2. 编写两个函数,分别实现二维DCT 变换Block2Dct 和逆变换Dct2Block 。正变换Block2Dct 函数的输入参数是二维矩阵,输出参数是DCT 变换系数;逆变换Dct2Block 函数的输入参数是二维DCT 系数,输出参数是逆变换后的矩阵。

3. 编写两个函数,分别实现DCT 变换系数的量化Dct2Quant 和逆量化Quant2Dct 。量化函数Dct2Quant 的输入参数是原始的DCT 变换系数和量化步长矩阵;逆量化函数Quant2Dct 的入参数是量化后的DCT 变换系数和量化步长矩阵。

4. 编写两个函数,分别实现对图像进行分块DCT 变换并量化Image2DctQ 及其逆过DctQ2Image 。函数Image2DctQ 调用前面的分块Imag2Block 和变换Block2Dct 以及量化 Dct2Quant 等三个函数,实现对图像进行分块DCT 变换并量化。函数DctQ2Image 调用相应的逆函数来实现上述逆过程。

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

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

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

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

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

四、实验结果

调用blkproc 函数实现图像分块,调用DCT2及IDCT2实现压缩变换。以下是代码及效果图: (1)、 I = imread('lena.bmp' );

I2 =blkproc(I,[5 5],'std2(x)*ones(size(x))'); imshow(I)

figure, imshow(I2,[]);

图像分块后可看出明显边缘现象

:

(2)、 A=imread('lena.bmp' );

imshow(A)

C=dct2(A); %进行余弦变换 figure;

B=log(abs(C)); imshow(B)

colormap(jet(64)); %显示为64级灰度

colorbar; %显示颜色条,显示变换后的系数分布

C(abs(C)

imshow(D) ;

分别输出原图、色条以及反变换后的图像,变换后的图像明显可以看出像素点的减少,图像被压缩:

五、实验小结:

多媒体指导老师每个模块的详细指导,让我们对图像压缩程序及相关的函数程序有了初步的了解,通过实验,更深入地了解图像压缩原理及实现方法,而且编程能力也将得到进一步提高,巩固了所学知识。

实验2《图像处理实验》

实验学时: 4 实验地点: 第一综合楼 实验日期: 2014年6月 9日

一、实验目的

图像文件解析及处理实验的目的是让学生了解常用图像文件的格式和基本的图像处理方法,并掌握相关的编程技术。本实验不仅能让学生巩固和扩展所学理论知识,同时可提高编程实践能力,为进一步从事图像处理和多媒体技术的研究与开发奠定基础。

二、实验内容

本实验主要任务有两个:一是对Bitmap 位图文件(*.bmp)的格式进行分析,编写程序从图像文件中读取像素阵列数据;二是编写程序对图像进行处理,比如:图像压缩编码、增强对比度、检测边缘、彩色变黑白、翻转或旋转、平滑去噪、缩小放大、调节透明度、等等,要求至少实现3种方式的图像处理。 要求:(1)能识别不同格式的位图文件(*.bmp),能正确地读取文件中的像素阵列数据,能根据已获取的像素数据绘制图像;(2)编程实现3种以上图像处理算法,并显示处理后的图像,以便观看处理效果。

三、实验步骤

1. 在电脑上安装好相应的编程工具软件,试运行教师提供的范例程序。 2. 分析范例程序的源代码,了解基本编程思路。

3. 查阅有关BMP 文件格式和图像处理技术的文献资料,结合范例程序源代码,深入理解图像处理原理及实现方法。

4. 仿照范例程序,编写实现新的图像文件解析与处理算法。 5. 调试和修改程序,直至能成功运行。

四、实验结果

本次实验分别实现了图形的增强对比度、黑白图像及浮雕三种效果 1、增强对比度:

代码: Dim bmp1 As Bitmap = PictureBox1.Image

Dim bmp2 As New Bitmap(bmp1.Width, bmp1.Height, Imaging.PixelFormat.Format24bppRgb)

' 循环扫描图像的像素,求平均颜色值. Dim x, y As Integer Dim pixelColor As Color Dim avgValue(2) As Double avgValue(0) = 0 avgValue(1) = 0 avgValue(2) = 0

Dim clrAvg As Double = 0

For x = 0 To bmp1.Width - 1 For y = 0 To bmp1.Height - 1

pixelColor = bmp1.GetPixel(x, y) 'pixelColor 的属性R,G ,B 为Byte 类型

'avgValue(0) = avgValue(0) + CInt(pixelColor.R) '三基色分别累加 'avgValue(1) = avgValue(1) + CInt(pixelColor.G) 'avgValue(2) = avgValue(2) + CInt(pixelColor.B)

clrAvg = clrAvg + (Int(pixelColor.R) + Int(pixelColor.G) + Int(pixelColor.B)) / 3.0 ' 改为亮度公式计算可能更好 Next Next

'Dim num = bmp1.Width * bmp1.Height

'avgValue(0) = CInt(avgValue(0) / num) ' 三基色分别求平均值 'avgValue(1) = CInt(avgValue(1) / num) 'avgValue(2) = CInt(avgValue(2) / num)

clrAvg = clrAvg / (bmp1.Width * bmp1.Height) ' 三基色的总平均值 avgValue(0) = clrAvg avgValue(1) = clrAvg avgValue(2) = clrAvg

' 循环扫描图像的像素,按比例调节颜色值. Dim clrRgb(2) As Integer For x = 0 To bmp1.Width - 1 For y = 0 To bmp1.Height - 1 pixelColor = bmp1.GetPixel(x, y) If pixelColor.R > avgValue(0) Then

clrRgb(0) = CInt (pixelColor.R * factor) ' 对比度增强系数factor > 1 If clrRgb(0) > 255 Then clrRgb(0) = 255 Else

clrRgb(0) = CInt (pixelColor.R / factor) End If

If pixelColor.G > avgValue(1) Then clrRgb(1) = CInt (pixelColor.G * factor) If clrRgb(1) > 255 Then clrRgb(1) = 255 Else

clrRgb(1) = CInt (pixelColor.G / factor) End If

If pixelColor.B > avgValue(2) Then clrRgb(2) = CInt (pixelColor.B * factor) If clrRgb(2) > 255 Then clrRgb(2) = 255 Else

clrRgb(2) = CInt (pixelColor.B / factor)

End If

Dim newColor As Color = Color.FromArgb(clrRgb(0), clrRgb(1), clrRgb(2)) bmp2.SetPixel(x, y, newColor) ' 设置像素的新颜色。 Next Next

' 设置PictureBox 控件,以便显示图像 PictureBox2.Image = bmp2

图像显示:

2、黑白图像处理:

代码: Dim bmp1 As Bitmap = PictureBox1.Image

Dim bmp2 As New Bitmap(bmp1.Width, bmp1.Height, Imaging.PixelFormat.Format24bppRgb)

' 循环扫描图像的像素,求平均颜色值. Dim x, y As Integer Dim pixelColor As Color Dim avgValue(2) As Double avgValue(0) = 0 avgValue(1) = 0 avgValue(2) = 0

Dim clrAvg As Double = 0

For x = 0 To bmp1.Width - 1 For y = 0 To bmp1.Height - 1

pixelColor = bmp1.GetPixel(x, y) 'pixelColor 的属性R,G ,B 为Byte 类型

'avgValue(0) = avgValue(0) + CInt(pixelColor.R) '三基色分别累加 'avgValue(1) = avgValue(1) + CInt(pixelColor.G) 'avgValue(2) = avgValue(2) + CInt(pixelColor.B)

clrAvg = CInt ((Int(pixelColor.R) + Int(pixelColor.G) + Int(pixelColor.B)) / 3.0) ' 改为亮度公式计算可能更好

Dim newColor As Color = Color.FromArgb(clrAvg, clrAvg, clrAvg) bmp2.SetPixel(x, y, newColor) ' 设置像素的新颜色。 Next Next

PictureBox2.Image = bmp2 PictureBox2.Show()

图像显示:

3、浮雕效果:

代码:Dim bmp1 As Bitmap = PictureBox1.Image

Dim bmp2 As New Bitmap(bmp1.Width, bmp1.Height, Imaging.PixelFormat.Format24bppRgb)

' 循环扫描图像的像素,求平均颜色值. Dim x, y As Integer Dim pixelColor As Color Dim pixelColor1 As Color Dim avgValue(2) As Double

avgValue(0) = 0 avgValue(1) = 0 avgValue(2) = 0

Dim clrAvg1 As Double = 0 Dim clrAvg2 As Double = 0 Dim clrAvg3 As Double = 0

For x = 1 To bmp1.Width - 2

For y = 1 To bmp1.Height - 2

pixelColor = bmp1.GetPixel(x, y) 'pixelColor 的属性R,G ,B 为Byte 类型 pixelColor1 = bmp1.GetPixel(x - 1, y - 1) 'pixelColor 的属性R,G ,B 为Byte 类型 'If (x - 1) 255 Then x = 255 'If (y - 1) > 255 Then y = 255

'avgValue(0) = avgValue(0) + CInt(pixelColor.R) '三基色分别累加 'avgValue(1) = avgValue(1) + CInt(pixelColor.G) 'avgValue(2) = avgValue(2) + CInt(pixelColor.B)

clrAvg1 = CInt ((Int(pixelColor.R) - Int(pixelColor1.R) + 128)) ' 改为亮度公式计算可能更好(三色的平均值

clrAvg2 = CInt ((Int(pixelColor.G) - Int(pixelColor1.G) + 128)) clrAvg3 = CInt ((Int(pixelColor.B) - Int(pixelColor1.B) + 128)) If clrAvg1 255 Then clrAvg1 = 255 If clrAvg2 > 255 Then clrAvg2 = 255 If clrAvg3 > 255 Then clrAvg3 = 255 'If (y - 1) 255 Then x = 255 'If (y - 1) > 255 Then y = 255

Dim newColor As Color = Color.FromArgb(clrAvg1, clrAvg2, clrAvg3) '[当前-左上角+平均值颜色值(~255)]

bmp2.SetPixel(x, y, newColor) ' 设置像素的新颜色。 Next Next

'Dim num = bmp1.Width * bmp1.Height

'avgValue(0) = CInt(avgValue(0) / num) ' 三基色分别求平均值 'avgValue(1) = CInt(avgValue(1) / num) 'avgValue(2) = CInt(avgValue(2) / num) ' 设置PictureBox 控件,以便显示图像 PictureBox2.Image = bmp2 PictureBox2.Show()

图像显示:

五、 实验小结:

通过本次实验我基本熟悉了图像处理的实例应用,清楚了几种边缘检测中常用的算子的效果;掌握了几种模板的作用。达到了实验的目的。

实验3《图像处理实验》

实验学时: 4 实验地点: 第一综合楼 实验日期: 2014年6月 13日

一、实验目的

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

1. 编写两个函数,分别实现对图像进行分块Image2Block 和合并图像分块Block2Image 的功能。分块函数Image2Block 输入参数是二维图像数据、分块尺寸以及图像边缘填充模式(1:填充0,2:重复边缘像素值),输出结果为图像分块阵列;合并函数Block2Image 的输入参数是分块阵列和原始图像的尺寸。

2. 编写两个函数,分别实现二维DCT 变换Block2Dct 和逆变换Dct2Block 。正变换Block2Dct 函数的输入参数是二维矩阵,输出参数是DCT 变换系数;逆变换Dct2Block 函数的输入参数是二维DCT 系数,输出参数是逆变换后的矩阵。

3. 编写两个函数,分别实现DCT 变换系数的量化Dct2Quant 和逆量化Quant2Dct 。量化函数Dct2Quant 的输入参数是原始的DCT 变换系数和量化步长矩阵;逆量化函数Quant2Dct 的入参数是量化后的DCT 变换系数和量化步长矩阵。

4. 编写两个函数,分别实现对图像进行分块DCT 变换并量化Image2DctQ 及其逆过DctQ2Image 。函数Image2DctQ 调用前面的分块Imag2Block 和变换Block2Dct 以及量化 Dct2Quant 等三个函数,实现对图像进行分块DCT 变换并量化。函数DctQ2Image 调用相应的逆函数来实现上述逆过程。

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

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

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

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

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

四、实验结果

调用blkproc 函数实现图像分块,调用DCT2及IDCT2实现压缩变换。以下是代码及效果图: (1)、 I = imread('lena.bmp' );

I2 =blkproc(I,[5 5],'std2(x)*ones(size(x))'); imshow(I)

figure, imshow(I2,[]);

图像分块后可看出明显边缘现象

:

(2)、 A=imread('lena.bmp' );

imshow(A)

C=dct2(A); %进行余弦变换 figure;

B=log(abs(C)); imshow(B)

colormap(jet(64)); %显示为64级灰度

colorbar; %显示颜色条,显示变换后的系数分布

C(abs(C)

imshow(D) ;

分别输出原图、色条以及反变换后的图像,变换后的图像明显可以看出像素点的减少,图像被压缩:

五、实验小结:

多媒体指导老师每个模块的详细指导,让我们对图像压缩程序及相关的函数程序有了初步的了解,通过实验,更深入地了解图像压缩原理及实现方法,而且编程能力也将得到进一步提高,巩固了所学知识。


相关内容

  • 物联网专业人才培养方案
  • 湖北众友科技实业股份有限公司 物联网专业人才培养方案 目录 物联网专业人才培养方案...........................................3 一.行业背景及人才需求...........................................3 二.指导思想.. ...

  • 西安电子科技大学(1)
  • 西安电子科技大学 国家大学生创新性实验计划项目申请书 项目名称: 片上网络高性能互连技术 项目负责人: 谢佩博 指导老师: 顾华玺 所在院系 通信工程 研究起止时间:2007年9月至2008年8月 西安电子科技大学教务处 二○○七年八月制 项目名称 项目来源 申请经费 姓名 申请人(团队) 学号 谢 ...

  • 暑期通信工程实习报告
  • 实习目的:为巩固通信工程专业的主业知识,提高对实际操作生产技能的认识,加深对通信相关产品和生产流程的具体,了解更多的关于通信方面课本以外的知识,为以后对本专业课的学习有更好的帮助。 前言:通过近一周的学习,我们从感性上学到了很多东西,也对我们将来的学习和研究方向的确定产生了深远的影响。通过这次参观实 ...

  • 2016级通信工程专业培养方案
  • 杭州电子科技大学 通信工程专业 Telecommunication Engineering 培 养 方 案 Undergraduate Education Program 通信工程学院制定 2016 年 8月 学院负责人:李光球 专业负责人:李光球.姚英彪 通信工程专业 学科门类 类 别 专业名称 ...

  • 南邮认识实习报告
  • 实习周的第一天,我随班来到了南邮本部。首先参观了软交换实验室。随着通信网络技术的飞速发展,人们对于宽带及业务的要求也在迅速增长,为了向用户提供更加灵活、多样的现有业务和新增业务,提供给用户更加个性化的服务,提出了下一代网络的概念,且目前各大电信运营商已开始着手进行下一代通信网络的实验。软交换技术又是 ...

  • 武汉大学信息安全培养方向
  • 计算机学院信息安全专业本科人才培养方案 一.专业代码.名称专业代码:071205w专业名称:信息安全二.专业培养目标 信息安全专业旨在培养能够从事计算机.通信.电子信息.电子商务技术.电子金融.电子政务.军事等领域的信息安全研究.应用.开发.管理等方面的高级技术人才.三.专业特色和培养要求 当今时代 ...

  • 网络工程设计实验报告
  • 网络工程设计报告 班级:通信1202 姓名:尹默成 学号:[1**********]4 小型企业网设计 一.企业网络需求分析 为适应企业信息化的发展,满足日益增长的通信需求和网络的稳定运行,今天的企业网络建设比传统企业网络建设有更高的要求,主要表现在如下几个方面. 带宽性能需求 现代企业网络应具有更 ...

  • 电子信息工程
  • 电子信息工程 求助编辑百科名片 大学专业,培养目标是培养具备电子技术和信息系统的基础知识,能从事各类电子设备和信息系统的研究.设计.制造.应用和开发的高等工程技术人才. 目录 基本介绍 业务培养要求 专业背景与市场预测 培养目标 培养要求 主要课程 ①数学: ②理论: ③电路: ④计算机: 详细课程 ...

  • 通信工程所修科目
  • 通信工程专业主要学习.研究信号的产生.信息的传输.交换和处理,以及在计算机通信.数字通信.卫星通信.光纤通信.蜂窝通信.个人通信.多媒体技术.信息高速公路.数字程控交换等方面的理论和工程应用问题. 该专业毕业的学生可从事无线通信.电视.大规模集成电路.智能仪器及应用电子技术领域的研究,设计和通信工程 ...