内容发布更新时间 : 2024/11/20 15:13:52星期一 下面是文章的全部内容请认真阅读。
基于MATLAB图像处理报告
一、设计题目
图片叠加。
二、设计要求
将一幅礼花图片和一幅夜景图片做叠加运算,使达到烟花夜景的美图效果。
三、设计方案
3.1、设计思路
利用
matlab强大的图像处理功能,通过编写程序,实现对两幅图片的像
素进行线性运算,利用灰度变换的算法使图片达到预期的效果。
3.2、软件介绍
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验
室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
.. ..
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户直接进行下载就可以用。
3.3、常见简单程序语句及算法分析
(1)CLC;清零。 (2)CLEAR ; 清内存。
(3)r=imread(‘路径\\图片名.jpg’);读入一幅图片。 (4)imshow(r);显示图片r。 (5)g=rgb2gray(r);灰度转变。
(6)%imhist(g);g1=histeq(g);figure,imsho(g1);直方图均衡化。 (7)Imwrite(‘g1,路径\\图片名.jpg’);保存图片。
3.4、图片叠加及灰度变换分析
程序1 [m,n,l]=size(C); for i=1:m for j=1:n for k=1:l
D(i,j,k)=C(i,j,k)+ B(i,j,k);
.. ..
end end end
此程序的主要功能是对两幅图片通过算法来实现叠加的效果,程序中的几个变量都是像素点的值,通过三个循环使得两幅图片对应的值线性相加,最大值应该是以255输出,超过255也是以255输出。
程序2
J = imadjust(I,[low_in high_in], [low_out high_out])
此程序变换的原理是:如果原图像f(x, y)的灰度范围是[m, M],我们希望对图像的灰度范围进行线性调整,调整后的图像g(x, y)的灰度范围是[n, N],那么下述变换:g(x,y)
N
n
f(x,y)
m
n就可以实现这一要求。MATLAB
图像处理工具箱中提供的imadjust函数,可以实现上述的线性变换对比度调整。
四、设计步骤
(1)处理之前,我们先来看看两幅原图,一幅是带有礼花的图片,另一幅是一幅东方明珠的夜景图。
.. ..
图 1
图 2
通过图片我们发现,礼花的图片非常的亮,而夜景图则显得有些灰暗。我们推测,如果让礼花和夜景的图片叠加到一起,会不会由于礼花的亮度太大而掩盖了城市的夜光,达不到我们想要的效果。
.. ..