您好,欢迎访问三七文档
邢台学院数学系2010届本科生毕业论文1平面图形面积计算摘要:MATLAB是近几年国内外流行的一种科学计算软件,其具有极强的数值计算与图像处理功能,在数字图像处理方面有着广泛应用。该文基于MATLAB能够实现对平面图形的特征提取,利用图像像素基本理论和MATLAB图形处理功能,确定平面图形的面积。并利用这一理论对河北省的图片进行求河北省面积,表明了可以利用MATLAB从图片中获取有用的面积信息。关键词:图像处理;面积;MATLAB;像素1引言当今是科学高度发展的信息化时代,数字信息与图形信息处理以及它们之间转化技术需要不断深入探讨,从图形信息中提取出有用的数字信息是一种计算科学和以计算机科学为基础的一项技术。而在进行数字图像处理时,MATLAB是非常有用的工具。现在从利用MATLAB及其相关理论计算某一平面图形的面积出发进行讨论。2问题及处理方法当观察并要了解一些平面图形时,人们往往想知道它的面积,比如观察我国卫星地图时,人们会想知道我国的小麦种植面积或者某座城市的市区面积,再比如当老师同学在观察邢台学院校区规划设计时,会想知道在建的新体育场的面积等等。总之,面积是平面图形的一个重要特征信息。2.1问题提出然而在大多数时候人们想要知道的某些平面图形又是极其不规则的,因此一些常规的面积计算公式在此时就失去了其价值。虽然用积分可以较为广泛的求图形面积,然而图形的边界函数的取得也很困难,因此也不实用。该文将介绍一种简单且可广泛应用的平面图形面积的计算方法。2.2处理方法图片在计算机中是通过像素的形式显示的。像素是最小的图像单元,无数个像素点组合成了我们看到的图像。当计算机给每一个像素点赋以像素值时,人们就看到了五彩斑斓的图像。而像素点越多,图像越接近真实的物体样子也越清晰,也就是人们常说的分辨率高。该文要介绍的这种面积计算方法就基于这一像素理论。基于像素理论与MATLAB软件,要想计算图片中某一区域的面积,只需做到三点即可:邢台学院数学系2010届本科生毕业论文2(1)标记或截取出图片中人们感兴趣的那部分区域;(2)利用MATLAB软件进行简单编程,分别计算全图和所求区域的像素面积;(3)通过查资料等途径获得全图真实面积,利用像素面积与真实面积的比值关系求得欲知区域的真实面积。现在,对于一个已知的平面图形(参看图1),利用像素理论以及MATLAB软件来计算它的面积S0。处理步骤如下:(1)将上图放在一个已知面积为S的矩形中(参看图2),相当于处理实际图像时获取的全图的真实面积(事实上,在处理实际平面图形时,人们通常可以利用图形的经纬度或已知的信息,将图形也放在已知面积的矩形中,此不难实现。);(2)将上面两图分别导入MATLAB(参看图3、图4),分别计算像素面积,获取图1中图像的像素面积S1以及图2中矩形图像的像素面积S2;计算图形的像素面积MATLAB程序实现如下:导入图象,MATLAB命令为:w=imread('picture','bmp');显示图像,MATLAB命令为:image(w);图2矩形长宽已知图3导入MATLAB后图4导入MATLAB后图1平面图邢台学院数学系2010届本科生毕业论文3在MATLAB中将图片变为二维矩阵,利用canny函数寻找边界,并化图形中点为原点,MATLAB命令为:w1=w(:,:,1);b=(edge(w1,'canny'));[u,v]=find(b);x0=mean([min(v),max(v)]);y0=mean([min(u),max(u)]);%plot(v,u,'.'),holdon,plot(x0,y0,'o');u1=-y0+u;v1=-x0+v极坐标变换,得到像素面积,MATLAB命令为:[c,r]=cart2pol(v1,u1);q=[c,r];q1=sortrows(q);[x1,y1]=pol2cart(q1(:,1),q1(:,2));s=polyarea(x1,y1)得到S1=1.1879e+004,S2=2.0712e+004。(3)由S0/S1=S/S2,得S0=11819S/20712。总之,通过以上简要的三步就可以利用MATLAB图形处理技术较为精确的计算平面图形的面积,其中关键在第二步,前提是能获得可以包围所求区域的矩形的真实面积。3应用验证下面以河北省图片为例去验证上述图形处理方法及面积计算方法。河北省边境曲折,用常规方法很难计算其面积。用上述方法可以简便且较为精确的进行计算。在互联网上剪取获得河北省平面图(参看图5)。在画图文件中净化图5得到单独清晰的河北省地图(其中北京与天津所夹的一小部分河北省区域为方便起见在此不予计算,参看图6)。图5剪取下的河北省地图图6净化处理后的河北省地图邢台学院数学系2010届本科生毕业论文43.1河北省面积计算将河北省图片限定在最小矩形区域内(方便计算矩形区域的实际面积)。并将图片导入MATLAB,图形显示参看图7。(1)计算河北省图片的像素面积S1以及包围河北省的最小矩形图片的像素面积S2按照该文介绍的处理方法,执行上文所列各个步骤与程序,在MATLAB中计算图7的像素面积,得到,S1=1.7714e+004S2=234*176(2)计算包围河北省的最小矩形的真实面积S河北省位于东经113°04′至119°53′,北纬36°01′至42°37′。记m表示河北省南北的实际距离,n表示河北省东西的实际距离,p表示纬度数,q表示纬度差,r表示经度差。由经纬度与距离的换算知识知,m=q*111㎞=(42°37′-36°01′)*111㎞=732.6㎞n=r*cosp*111㎞=(119°53′-113°04′)*cos(40°)*111㎞(在此取河北省的中间纬度)≈579.6㎞图7河北地图MATLAB显示邢台学院数学系2010届本科生毕业论文5所以得到,S=732.6㎞*579.6㎞=424614.96㎞2再由S0/S1=S/S2得河北省面积S0=182634.75㎞2。3.2误差及其改善河北省实际面积为187693㎞2,去除北京与天津之间的飞地之后为186416㎞2,该文计算所得结果为182634.75㎞2,计算结果的绝对误差为3781.25㎞2,相对误差2.03%。虽有一定误差,但相对误差较小。误差产生有二个因素:(1)在对图片进行净化处理时得到的并不是完全的原图,对河北省地图有所损毁;(2)严格来说,河北省表面为一弧面,将其当做平面来算必定有误差,并且因为是弧面,实际上在利用经纬度计算包围河北省的最小矩形时也有误差,如果把地球当做圆形球体来考虑,就会接近实际,从而改善计算结果。4结论在上面的讨论中,该文基于像素理论,利用MATLAB强大的数字计算与图象处理功能找到了一种方便快捷的计算平面图形面积的方法,并通过对河北省面积的计算,验证了这种方法的可行性。同样,该文介绍的像素理论与MATLAB功能也可用于计算平面图形的边界长度等提取图片特征信息的操作。MATLAB作为一种工具,依靠其强大功能,基于相关理论可以完成很多工作,计算平面图形的面积甚至数字图象处理均是其一部分。知道这一点中对人们研究问题很有益处,熟练应用也可以方便人们的日常生活。总之,MATLAB在科学研究中有很大作用。参考文献[1]王沫然.MATLAB与科学计算(第二版)[M].北京:电子工业出版社,2006.[2]省情介绍.=ala0_1_1,2010.04.20.[3]省情介绍.=%BA%D3%B1%B1%CA%A1&word=%BA%D3%B1%B1%CA%A1&tn=sitehao123,2010.04.20.[4]孙兆林.MATLAB6.X图像处理[M].北京:清华大学出版社,2002.[5]飞思科技产品研发中心.MATLAB6.5辅助图像处理[M].北京:电子工业出版社,2003.[6]薛申芳,李素峰.图形数据信息提取[J].邢台学院学报,2007.邢台学院数学系2010届本科生毕业论文6致谢在本篇论文的撰写过程中,本人学到了许多新的知识,最大的收获是认识到数学研究工作的复杂性与巧妙性,进一步培养了研究数学的兴趣。在此论文完成之际首先要感谢我的导师薛申芳老师。薛老师从一开始的论文方向的选定到最后的整篇论文的完成,给我提供了大量数据资料和建议,告诉我应该注意的细节问题,细心的给我指出错误,修改论文。他对MATLAB数学软件在数字图象处理方面应用的深刻见解,使我受益匪浅。薛老师诲人不倦的工作作风,一丝不苟的工作态度,严肃认真的治学风格给我留下深刻的影响,值得我永远学习。在此,谨向导师薛申芳老师致以崇高的敬意,并对薛老师的精心指导表示衷心的感谢!PlaneFigureAreaComputationAbstract:MATLABisthedomesticandforeignpopularonekindofcomputationsoftwareinrecentyears,ithasgreatlystrengthenedfunctionsandsoonvaluecomputationandimageryprocessing,hasthewidespreadapplicationinthedigitalimageprocessingaspect.BasedonMATLAB,thisarticlecanrealizetotheplanefigurecharacteristicextractionandusingimagepictureelementandthepictureelementvalueelementarytheoryandtheMATLABgraphprocessingfunctiontodefiniteplanefigurearea.UsingthistheorytoaskHebeiProvince'sareafromitspicture,hadindicatedthatusingMATLABcangaintheusefulareainformationfromthepicture.Keywords:imageryprocessing;area;pictureelement;MATLAB
本文标题:平面图形面积计算
链接地址:https://www.777doc.com/doc-5222644 .html