1、 基于 MATLAB 图像处理报告1、设计题目图片叠加。2、设计要求将一幅礼花图片和一幅夜景图片做叠加运算,使达到烟花夜景的美图效果。3、设计方案3.1、设计思路利用 matlab 强大的图像处理功能,通过编写程序,实现对两幅图片的像素进行线性运算,利用灰度变换的算法使图片达到预期的效果。3.2、软件介绍MATLAB 是 matrix保存图片。3.4、图片叠加及灰度变换分析程序 1m,n,l=size(C);for i=1:mfor j=1:nfor k=1:lD(i,j,k)=C(i,j,k)+ B(i,j,k);endendend此程序的主要功能是对两幅图片通过算法来实现叠加的效果,程序中
2、的几个变量都是像素点的值,通过三个循环使得两幅图片对应的值线性相加,最大值应该是以 255 输出,超过 255 也是以 255 输出。程序 2J = imadjust(I,low_in high_in, low_out high_out)此程序变换的原理是:如果原图像 f(x, y)的灰度范围是m, M,我们希望对图像的灰度范围进行线性调整,调整后的图像 g(x, y)的灰度范围是n, N,那么下述变换:g(x,y)Nnf(x,y)mn 就可以实现这一要求。MATLAB图像处理工具箱中提供的 imadjust 函数,可以实现上述的线性变换对比度调整。四、设计步骤(1)处理之前,我们先来看看两幅
3、原图,一幅是带有礼花的图片,另一幅是一幅东方明珠的夜景图。图 1图 2通过图片我们发现,礼花的图片非常的亮,而夜景图则显得有些灰暗。我们推测,如果让礼花和夜景的图片叠加到一起,会不会由于礼花的亮度太大而掩盖了城市的夜光,达不到我们想要的效果。(2)打开 matlab 图像处理软件,7.0 及以上版本就可以,打开之后,显示界面如下(我的版本是 2012b) 。图 3(3)新建 script 文件,点击New script,或点击New,选择script。图 4(4)在打开的界面之中输入程序。图片的位置是你所要用的图片的准确位置,尽量写详细点,减少计算机的读取时间,加快读取速度。如图所示。图 5
4、(5)点击运行按钮,即界面上的绿色按钮。图 6(6)查看效果,如下图。图 7通过处理后的图片,我们看到由于礼花太亮,完全将城市的夜景掩盖住了,效果不是太理想。我们设想加入灰度变换函数,将礼花的图片变的暗一点,将夜景的亮度提高一点,看看效果怎么样,加入灰度变换程序,如下图。图 8(7)软件调试后运行程序,如下图。图 9结果显示加入灰度变换的函数之后,图片效果较之前好多了,达到了预期的目的。五、软件代码通过 matlab 进行图像处理,代码如下:clear;clc;A=imread(C:UsersAdministratorDesktop作业礼花.jpg);C=imresize(A,300,400)
5、;B=imread(C:UsersAdministratorDesktop作业夜景提亮天空中加入礼花.jpg);m,n,l=size(C);for i=1:mfor j=1:nfor k=1:lD(i,j,k)=C(i,j,k)+ B(i,j,k);endendendfigureimshow(D);imwrite(C:UsersAdministratorDesktop作业礼花效果图1.jpg)调试之后的程序代码如下:clear;clc;A=imread(C:UsersAdministratorDesktop作业礼花.jpg);B=imread(C:UsersAdministratorDeskt
6、op作业夜景提亮天空中加入礼花.jpg);A1=imadjust(A,0,1,0,0.9);B1=imadjust(B,0.3,0.6,0,1);C=imresize(A1,300,400);m,n,l=size(C);for i=1:mfor j=1:nfor k=1:lD(i,j,k)=C(i,j,k)+ B1(i,j,k);endendendfigureimshow(D);imwrite(C:UsersAdministratorDesktop作业礼花效果图2.jpg)处理后的图片如下:图 10六、结果分析通过两幅图的对比,发现第二幅图片较第一幅,效果明显增强。是由于加入灰度变换函数,使原
7、图的灰度值发生变化,以达到实际的效果。效果对比图 117、心得体会通过这次任务,以前在课堂上没太听明白怎么回事的东西,通过上网,查资料,以及用软件处理,通通实践了一遍,加深了对这门课程的认识和理解。Matlab 是一款功能很强大的应用软件,它不仅可以对图像进行处理,而且可以进行各种数字计算和符号计算功能,具有绘图功能,语言体系等等。这次的任务我们乐在其中,喜悦的是看到了成果,内心充满了满足感和成就感,就如同看到了图片中的烟花,有种过年的感觉。不过这些都只是皮毛而已,要想真正地掌握它,还得更进一步地学习理论知识。参考文献:【冈萨雷斯 数字图像处理(MATLAB 版) 】美 RafaelC.Gonzalez RichardE.Woods StevenL.Eddins 著 电子工业出版社。【数字图像处理及 MATLAB 实现】杨杰 主编 电子工业出版社。