1、太原理工大学现代科技学院MATLAB 课程设计 设计名称 MATLAB 图像处理专业班级 0 学 号 0 姓 名 0 指导教师 李鸿燕 太原理工大学现代科技学院 课程设计专业班级 0 学号 0 姓名 0 成绩 1.设计目的通过该设计,要求对图像的采集、显示、处理和存储等有一个系统的掌握和理解,并且掌握对二 维数据进行处理的方法。2.设计内容1.采集一张格式为*.jpg、*.cur、*.bmp、*.tif 、*.hdf、*.ico、*.pcx、*.xwd 的任一副图像,用MATLAB 的 imread 函数读入图像文件,并用 image 函数显示图像。2.图像的插值(1)最近邻插值是最简单的插值
2、,在这种算法中,每一个插值与输出像素的值就是在输入图像中与其最临近的采样点的值。(2)双线性插值法的输出像素值是它在输入图像中 2X2 领域采样点的平均值,它根据某像素周围 4个像素灰度值在水平和垂直两个方向上对其插值。(3)双三次插值的插值核为三次函数,其插值领域的大小为 4X4,它的插值效果比较好,但相应的计算量较大。3.自己编写程序实现对图像的最近邻插值,并且显示最近插值后图像,且与原图像对比。3.设计原理。图像的插值实质上是完成图像的大小变换,通过新建一个放大或者缩小矩阵,与原图像矩阵用一定的函数关系来实现,最近邻插值为在原图中选择最紧邻的像素点赋值到新建对应像点区。四.主要参数与设计
3、源程序及其图像表示。1.图片的读入与显示 clear tupian=imread(C:UsersAdministratorDesktop学习MATLAB气泡.jpg);装订线太原理工大学现代科技学院 课程设计 image(tupian);100 200 300 400 500 6001002003004005006007008002.图片的最近邻插值与显示 b1=imresize(tupian,2,nearest); image(b1);太原理工大学现代科技学院 课程设计200 400 600 800 1000 120020040060080010001200140016003.实现双线性插值
4、 b2=imresize(tupian,2,bilinear); image(b2)200 400 600 800 1000 12002004006008001000120014001600太原理工大学现代科技学院 课程设计4.实现双三次插值200 400 600 800 1000 12002004006008001000120014001600 b3=imresize(tupian,2,bicubic); image(b3);5.自编邻插值 M 文件及其调用。(1)M 文件如下:function zjlchazhix=imread(C:UsersAdministratorDesktop学习M
5、ATLAB气泡.jpg);figure,image(x);title(0 0 原图)n=input(请输入放大倍数 n=);y,z,l=size(x);m1=round(n*y);n1=round(n*z);x1=zeros(m1,n1,l);for i=1:m1for j=1:n1太原理工大学现代科技学院 课程设计for k=1:li1=round(i/n);j1=round(j/n);k1=round(l);if i1 zjlchazhi(3)请输入放大倍数 n=2执行图形显示:太原理工大学现代科技学院 课程设计信 信 13-1 信 信 信 信100 200 300 400 500 600
6、100200300400500600700800信 信 13-1 信 信 信 信 信 信 信 信200 400 600 800 1000 12002004006008001000120014001600太原理工大学现代科技学院 课程设计6.自编双线性 M 文件及其调用。(1)M 文件如下:function zjlchazhi1x=imread(C:UsersAdministratorDesktop学习MATLAB气泡.jpg);figure,image(x);title(0 0 原图);m=input(请输入长的放大倍数 m=);n=input(请输入宽的放大倍数 n=);y,z,l=size
7、(x);m1=round(m*y);n1=round(n*z);x1=zeros(m1,n1,l);for i=1:m1for j=1:n1for k=1:li1=round(i/m);j1=round(j/n);if i1 zjlchazhi1请输入长的放大倍数 m=2请输入宽的放大倍数 n=3(3)执行图形显示:信 信 13-1 信 信 信 信100 200 300 400 500 600100200300400500600700800太原理工大学现代科技学院 课程设计信 信 13-1 信 信 信 信 信 信 信 信 信 信 信200 400 600 800 1000 1200 1400
8、1600 180020040060080010001200140016005.实验结果分析执行最近邻插值放大二倍的图像比原图要清晰,进行双线性插值放大二倍之后的图像显示效果要比最近零插值效果好一点,且可以任意变换长宽比例,双线性插值要更实用一点,应用更广泛。六.心得体会本次实验中没有搞清楚最近邻插值与双线性插值的概念,导致编辑最近邻插值时实际编辑的是双线性插值,初次编辑采用二维 for 循环,之后发现图片只有部分正常显示,剩余部分均为红色,经过大量寻找网络参考之后,改用三维计算,此时只能放大二倍图像,多倍时提示“尝试访问点 x(0,0,1)时出错”之后改进恒纵坐标小于 0 时候赋值为 1,程序得以正常运行。总之,花费了长时间能够实现函数,还是很开心的。