实验一 图像处理的MATLAB基础
实验目的:熟悉数字图象处理的基本软件工具和操作
实验内容:Matlab应用复习,矩阵产生、操作;矩阵运算以及字符运算。
1.利用增量产生向量[0,2,4,6,8,10]。
2.利用magic(n)函数产生7维魔鬼矩阵A,并利用tril函数提取矩阵A的下三角矩阵作为矩阵B。
3.将矩阵A的第4行的值改为10,将矩阵A的第6到7列的值改为1,记作矩阵C;将矩阵A 的最后一行删除,记作矩阵D;返回矩阵D的行数W。
4.定义两个3*3的矩阵P、Q,计算两个矩阵的乘积M=P*Q,N=Q*P,并验证M是否等于N。
5.将自己的名字定义成字符name,如name=‘zhang ming’,将字符name转换为数值name1,再将数值name1转换为字符name2。
程序实现:
实验结果:
结果分析:
通过linspace函数生成指定向量[0 2 4 6 8 10]。利用magic(n)函数和tril函数得到A,B矩阵,CD矩阵也是通过简单的操作得到。运用rand(3)函数得到P和Q,验证结果不相等。通过一对单引号创建了字符name,再运用double函数后,转换成双精度浮点数数组,再利用char函数就转换成字符数组了。
实验二 图像显示与类型转换
实验目的:熟悉数字图像处理中读入图像与显示图像的方法,掌握彩色图像、灰度图像、二值图像以及索引图像的区别以及转换关系。
实验内容:对选取的示例图像进行读取、显示和转换等。
1.用图形表示连续调制波形 y=sin(t)sin(9t),自变量取101个点画出y2,画两个子图,在子图1上用红色的点显示y2,并将子图题目设置为“子图(1)”,在子图2上用蓝色点显示y2,并将子图题目设置为“子图(2)”。
示例:%
t1=(0:11)/11*pi; % 自变量取 12 个点
y1=sin(t1).*sin(9*t1); % 计算函数值
2.读入“lena”tif格式图像,分别按256灰度级、8灰度级显示图像;显示伪彩色图像;最后将tif格式图像保存为jpg图像;
3.读入flowers彩色图像,利用dither函数将其转化为索引图像,利用subplot函数在同一幅图中显示真彩图以及索引图;
4. 读入flowers彩色图像,利用dim2bw函数将其转化为二值图像,利用rgb2gray函数将其转换为灰度图像,利用subplot函数在同一幅图中显示二值图像以及灰度图像。
程序实现:
实验结果:
伪彩色图像:
转为jpg:
显示真彩图以及索引图:
显示二值图像以及灰度图像:
结果分析:
彩色图像使用R、G、B三个分量表示每个像素,每个通道取值范围在0到255之间,数据类型通常为8位无符号整型。相比之下,灰度图像每个像素只包含一个采样颜色,呈现从最暗黑色到最亮白色的灰度,数据类型同样为8位无符号整型。而二值图像中,每个像素仅有两种可能取值,0代表黑色,1代表白色,数据类型一般为1个二进制位。
另一方面,索引图像类似于字典查找,通过建立颜色索引来解决彩色图像占用大量空间的问题,特别适用于色彩构成相对简单的场景。彩色图像可以被转换为灰度图像,而灰度图像则可转换为二值图像。彩色图像还可以被转换为索引图像,而索引图像则可转换为灰度图像,灰度图像也可以转换为二值图像。然而,灰度图像不能直接转换为彩色图像。
实验三 图像时域变换
实验目的:熟悉彩色图像的几何变换。
实验内容:读入一副彩色图像,对图像以此进行横向拉伸2倍,顺时针旋转60度,纵向拉伸1.5倍,纵向错切0.5。在一幅图里展示出原图和变换后的图像。
程序实现:
定义单通道错切函数:
定义RGB彩色图像错切函数,原理是R、G、B每个通道都单独调用单通道错切函数:
实验结果:
横向拉伸2倍:
顺时针旋转60度:
纵向拉伸1.5倍:
纵向错切0.5:
结果分析:
对于图像横向拉伸2倍,该图的宽度增加两倍,变得更加扁平,图像可识别性降低。
对于图像顺时针旋转60°,该图只有角度发生变化,并不影响图片本身的可识别性。
对于图像纵向拉伸1.5倍,该图的高度增加1.5倍,变得更加细长,图像可识别性降低。
对于图像纵向错切0.5,该图在垂直方向上发生一半的错切变形,图像的宽度没有变化,图像可识别性降低。
实验四 图像的频域变换
实验目的:掌握图像傅里叶变换的基本性质,及滤波器的应用
实验内容:读入一副彩色图像,构建高通的低通滤波器,对图像进行高通和低通滤波,要求低通滤波器模板面积约为图像的25%,高通滤波器模板面积约为80%。
程序实现:
实验结果:
结果分析:
低通滤波后,高频分量减少,保留低频分量,图像呈现出模糊外观的效果,图像整体上看起来更加平滑和均匀,对比度下降,也失去了边缘以及细小的特征。
经过高通滤波后,低频分量减少,保留高频分量,图像的边缘更加突出和细致。
实验五 图像增强
实验目的:理解空域滤波的基本概念
实验内容:读入一副彩色图像,分别对图像进行3x3、5x5、7x7的均值滤波和中值滤波。
程序实现:
实验结果:
结果分析:
均值滤波简单来说就是对某个区域内的像素值取平均值代替原像素值,中值滤波和均值滤波不同的地方是,中值滤波是对图像的像素值进行排序,取中间的像素值赋给新的图像,使拥有不同灰度的点看起来更接近于它的邻近值。
如图中结果所示,中值滤波后的图像明显变得更平滑,但均值滤波的图像整体会更加模糊。