MATLAB用于图像处理课程设计

  • 格式:docx
  • 大小:379.64 KB
  • 文档页数:5

MATLAB及在电子信息课程中的应用




班级:电子信息工程07-2班
姓名:王晓萱
学号:07100637
一、设计题目:
MATLAB用于图像处理

二、设计目的:
通过该设计,要求对图像的采集,显示,处理和存储等有一
个系统的掌握和理解,并且掌握对二维数据进行处理的方法。
三、设计内容及其主要MATLAB函数:
1.图像的采集与显示
采集一张格式为*.jpg、*.cur、*.bmp、*.tif、*.hdf、
*.ico、*.pcx、*.xwd的任一幅图像,用MATILAB的imread
函数读入图像文件,并用 image(imshow)函数显示图像。
MATLAB函数: imread 功能是读入图像文件
Image(imshow) 显示图像文件
要求采集一幅图像,把该图像读入在MATLAB中,并且显示
出来。
2.图像的插值
(1)最近邻插值
最近邻插值是最简单的插值,在这种算法中,每一个插值
输出像素的值就是在输入图像中与其最临近的采样点的值。
(2)双线性插值
双线性插值法的输出像素值是它在输入图像中2×2领
域采样点的平均值,它根据某像素周围4个像素的灰度值在
水平和垂直两个方向上对其插值。
(3)双三次插值
双三次插值的插值核为三次函数,其插值领域的大小为
4×4,它的插值效果比较好,但相应的计算量较大。
3.MATLAB函数:imresize
b=imresize(a,m,method),返回原图的m倍放大图像(小于1
时返回缩小图像);
b=imresize(a,[m,n],method),返回一个m行,n列的图像;
b=imresize(a,m,method,h),使用用户设计的插值核h进行
插值,h可看作是一个二维的FIR滤波器。
四、实验要求:
1.对采集的图像使用imresize函数,分别对其进行最近邻插值、
双线性插值和双三次插值,返回二倍放大图像,并且分别显示
出来与原图像进行对比。
2.试编写一个M文件,对采集的图像进行最近邻插值,并且显示
出来与原图像进行对比。
五、设计过程:
1.读取原图像:
代码: >>A=imread('D:\qipan.jpg');
>>imshow(A)
原图像:
2.最近邻插值放大二倍图像:
代码: >>B=imresize(A,2,'nearest');
>>imshow(B)
放大后图像:

原图比较: 最近邻插值放大二倍图像相较于原图像,在黑色棋子的圆形
头部和白色棋子颈部有明显的锯齿出现,失真较大.
3.双线性插值放大二倍图像:
代码: >>C=imresize(A,2,'bilinear');
>>imshow(C)
放大后图像:

原图比较: 双线性插值放大二倍图像比最近邻插值放大二倍图像质量
明显提升, 甚至原图像中的部分锯齿也消失!
4.双三次插值放大二倍图像:
代码: >>D=imresize(A,2,'bicubic');
>>imshow(D)
放大后图像:

原图比较: 双三次插值放大二倍图像与双线性插值放大二倍图像质量
无太大差别, 对比度略有提升.
5.M文件: