湖南工程学院论文报告课程名称基于偏微分方程的图像处理课题名称图像的加密及图像膨胀专业班级学号姓名指导教师2011年12月25日基于偏微分方程的图像处理——图像的加密及图像膨胀目录1.摘要2.图像处理的基本知识2.1图像处理技术概述2.2图像处理技术的框架2.3图像处理的例子—图像的加密2.4图像加密的Arnold变换程序3.图像变换的不变性与偏微分方程3.1形态学算子定义3.2偏微分方程和膨胀(腐蚀)算子3.3膨胀和腐蚀算子的离散算法3.4使用maltab进行的图像处理——图像膨胀(腐蚀)4.总结5.参考文献1.摘要从广义上来说,图像技术是各种鱼图像有关的技术的总称。目前,人们主要研究的是数字图像,通常结合计算机和其他电子设备来完成一系列工作,例如图像的采集、获取、编码、存储和传输,图像的合成和产生,图像的显示和输出,图像的变换、增强、恢复(复原)和重建,图像的分割,目标的检测、表达和描述,特征的提取和测量,序列图像的校正,3-D景物的重建复原,图像数据库的建立、索引和抽取,图像的分类、表示和识别,图像模型的建立和匹配,图像与场景的解释和理解,以及基于它们的判断决策和行为规划等等。另外,图像技术还可以包括为完成上述功能进行的硬件设计及制作等方面的技术。2.图像处理的基本知识2.1图像处理技术概述图像处理(ImageProcessing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。图像处理最早出现于20世纪50年代,当时的电子计算机已经发展到一定水平,人们开始利用计算机来处理图形和图像信息。图像处理作为一门学科大约形成于20世纪60年代初期。早期的图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。图像处理中,输入的是质量低的图像,输出的是改善质量后的图像,常用的图像处理方法有图像增强、复原、编码、压缩等。首次获得实际成功应用的是美国喷气推进实验室(JPL)。他们对航天探测器徘徊者7号在1964年发回的几千张月球照片使用了图像处理技术,如几何校正、灰度变换、去除噪声等方法进行处理,并考虑了太阳位置和月球环境的影响,由计算机成功地绘制出月球表面地图,获得了巨大的成功。随后又对探测飞船发回的近十万张照片进行更为复杂的图像处理,以致获得了月球的地形图、彩色图及全景镶嵌图,获得了非凡的成果,为人类登月创举奠定了坚实的基础,也推动了图像处理这门学科的诞生。在以后的宇航空间技术,如对火星、土星等星球的探测研究中,图像处理技术都发挥了巨大的作用。图像处理取得的另一个巨大成就是在医学上获得的成果。1972年英国EMI公司工程师Housfield发明了用于头颅诊断的X射线计算机断层摄影装置,也就是我们通常所说的CT(ComputerTomograph)。CT的基本方法是根据人的头部截面的投影,经计算机处理来重建截面图像,称为图像重建。1975年EMI公司又成功研制出全身用的CT装置,获得了人体各个部位鲜明清晰的断层图像。1979年,这项无损伤诊断技术获得了诺贝尔奖,说明它对人类作出了划时代的贡献。与此同时,图像处理技术在许多应用领域受到广泛重视并取得了重大的开拓性成就,属于这些领域的有航空航天、生物医学工程、工业检测、机器人视觉、公安司法、军事制导、文化艺术等,使图像处理成为一门引人注目、前景远大的新型学科。随着图像处理技术的深入发展,从70年代中期开始,随着计算机技术和人工智能、思维科学研究的迅速发展,数字图像处理向更高、更深层次发展。人们已开始研究如何用计算机系统解释图像,实现类似人类视觉系统理解外部世界,这被称为图像理解或计算机视觉。很多国家,特别是发达国家投入更多的人力、物力到这项研究,取得了不少重要的研究成果。其中代表性的成果是70年代末MIT的Marr提出的视觉计算理论,这个理论成为计算机视觉领域其后十多年的主导思想。图像理解虽然在理论方法研究上已取得不小的进展,但它本身是一个比较难的研究领域,存在不少困难,因人类本身对自己的视觉过程还了解甚少,因此计算机视觉是一个有待人们进一步探索的新领域。综上所述,图像处理的结果主要是作为人类进行图像分析的辅助手段。同样,数字图像技术也可以用来解决机器感知问题,这是一个用计算机处理的形式从图像中提取信息的过程。在机器感知中,使用图像处理技术的典型问题是自动字符识别、军事识别、指纹的自动处理、用于生产线及检测的公寓机器视觉、用于天气预报和环境鉴定的航空与卫星图像的机器处理等。2.2图像处理技术的框架图像处理涉及的范围或其他相关领域(如图像分析、图像理解和计算机视觉)的界定目前还没有一致的看法。由于图像技术近年来得到了极大的重视和长足的进展,出现了许多新理论、新方法、新成果和新设备等,这些成果往往与上述许多领域是相互交叉,协同发展的。目前比较公认的是如图1所示的图像处理技术框架图。这个框架是将数学、光学、通信等基础科学的原理,结合一系列在图像应用中积累的技术经验而形成。图像处理技术的内容非常丰富,根据抽象程度和研究方法等的不同可分为三个层次(见图1):图像处理、图像分析和图像理解。其中图像处理又被称为低层图像处理,这是为了避免和图像处理技术相混淆。换句话说,图像处理技术是既有联系又有区别的图像处理、图像分析及图像理解三者的有机结合,另外还包括对它们的实际应用。作为一个统一体,这三者之间没有明确的界线。低层图像处理着重强调在图像之间进行的变换。虽然人们常用图像处理泛指各种图像技术,但比较狭义的图像处理主要满足对图像进行各种加工以改善图像的视觉效果并为自动识别打基础,或对图像进行过压缩编码以减少所需存储空间、传输时间或传输通路的要求。它仅仅涉及图像的一些底层操作,如降低噪声的图像预处理、对比度增加和图像锐化等。抽象程度高低图像理解图像分析图像处理数据量大小高层中层低层语义操作对象符号目标像素图1作为中层的图像处理技术,图像分析则主要对图像中感兴趣的目标进行检测和测量,以获得它们的客观信息从而建立对图像的描述。如果说低层图像处理时一个从图像到图像的过程,则图像分析师一个从图像到数据的过程。这里,数据可以使对目标特征测量的结果,或是基于测量的符号表示。它们描述了图像中目标的特点和性质。图像理解的重点是图像分析的基础上,进一步研究图像中各目标的性质极其相互联系,并得出对图像内容含义的理解以及对原来客观场景的解释,从而知道和规划行为。如果说图像分析主要是以观察者为中心研究客观世界(主要研究可观察到的事物),那么图像理解在一定程度上是以客观世界为中心,借助只是、经验等来把握整个客观世界(包括没有直接观察到的事物)。综上所述,图像处理、图像分析和图像理解是处在三个抽象程度和数据量各有特点的不同层次上。图像处理是比较低层的操作,它主要在图像像素级上进行处理,处理的数据量非常大。图像分析则进入了中层,分割和特征提取吧原来以像素描述的图像转变成比较简洁的非图形式的描述图像理解主要是高层操作,基本上是对从描述抽象出来的符号进行过运算,其处理过程和方法与人类的思想推理可以有许多类似之处。另外由图1可知,随着抽象程度的提高,数据量是逐渐减少的。具体说来,原始图像数据经过一系列的处理过程逐步转化为更有组织和用途的信息。在这个过程中,语义不断引入,操作对象发生变化,数据量得到了压缩。另一方面,高层操作对低层操作有指导,能提高低层操作的效能。2.3图像处理的例子—图像的加密-例1.图像加密是图像编码的一种形式。图像在传输过程中有可能需要对图像的本来面貌进行隐藏,即对图像进行加密。这里,我们介绍一种简单的加密方法,假设离散模型下的图像u分辨率为n*n,每个像素都有对应的坐标x=(x1,x2),x1,x2属于{0,1,2,..,n-1}。加密的过程用算子T实现Tu(x)=u(Arn(x))其中Arn表示Arnold变换,是对像素的一个坐标变换,2.4图像加密的Arnold变换程序%Q:原始图像数据矩阵,可能为二维或三维%Frequency:图像需要变换的次数%M:转换后图像数据矩阵,可能为二维或三维funcctiomM=Arnold(Q,map,Frequency)%将Q赋值给M,计算Q和Q_map的大小Q=imread(“filename.brmp”);%读取某一指定文件M=Q;Size_Q=size(Q);%Arnold转换n=o;K=Size_Q;fors=1:FrequencyM1_t=Q;M2_t=Q;n=n+1;ifmod(n,2)==0forj=1:Kforj=1:Kc=M2_t(i,j);M1_t(mod(i+j-2,K)+1,mod(i+2*j-3,K)+1)=c;endendelsefori=1:Kforj=1:Kc=M1_t(I,j);M2_t(mod(i+j-2,K)+1,mod(i+2*j-3,K)+1)=c;endendendendifmod(Frequency,2)==0M=M1_telseM=M2_t;end程序输出结果3.图像变换的不变性与偏微分方程3.1形态学算子定义数学形态学是基于形状集合理论而提出的,其运算本质上是并行的,便于并行处理实现。用数学形态学算子对图像进行识别处理,不需计算每点的局部特征,方法简单速度快,且抗噪能力比较强,因而适合为运动图像序列中目标对象的后分割所采用。在数学形态学中有四个最基本的算子:腐蚀、膨胀、开和闭3.2膨胀和腐蚀算子定义设X,S,…ZN,且元素X=(x1,x2,…,xn,…,xN)T和S=(s1,s2,…,sn,…,sN)T都是具有离散坐标的N元组,如果用(X)s={T∈ZN|T=X+S,X∈X}(3)表示点集X平移S,则X被S膨胀可基于Minkowski加法而定义为:(4)同样,基于Minkowski减法可以定义S对X的腐蚀操作(5)其中S称为结构元素.1)膨胀算子:选择合适的结构元素S1,膨胀算子把离散化后的特征矢量集变换成包含有几个大的连通分量和孤立点集及毛刺的集合.2)腐蚀算子:利用选取的结构元素S1,腐蚀算子XΘS1把相互靠近甚至连接在一起的大的连通分量,腐蚀成几个独立的子分量,这将对应于样本集的子结构.3.3膨胀和腐蚀算子的离散算法由于膨胀算子和腐蚀算子具有类似的性质,所以我们在此仅列出膨胀算子的伪代码。已知图像u的分辨率为mXn,u[i,j](i=1…m,j=1,…n)表示图像在[i,j]位置的灰度值。取结构元素为B,t为参数,V[i,j]表示运算结果。Dilation(u,B,t)FORx0=1tomFORy0=1tonFOREACH(tB中的像素点p)得到p的坐标值(px,py)将u[x0+px,y0+py]的灰度值存入数组arrayay中求array中的最大值max_array令V[x0,y0]=max_arrayENDFOREACHENDEND对集合的膨胀运算也可以使用这个程序,我们只需把集合看作是一个二值图像就可以了,腐蚀算法只需要把上述代码中得最大值改成最小值就可以了2.4使用maltab进行的图像处理——图像膨胀(腐蚀)%函数:图像的腐蚀算法Functionerosion('E:\gao.jpg')Image_I=imread('E:\gao.jpg');[size_m,size_n]=size(image_I);Image_O=image_I;Subplot(1,3,1)Imshow(image_I,[]);t=10;forrow=t+1:size_m-tforcol=t+1:size_n-t%对每一点求其t领域的最小值min=1000;%其中1000只是代表一个比较大的数。forx=-t:tfory=-t:tifsqrt(x*x+y*y)tifimage_I(row+x,col+y)minmin=image_I(row+x,col+y);%min表示是腐蚀算法endendendendimage_O(row,col)=min;endendendsubplot(1,3,2)imshow(image_O,[])imwrite(image_O,'image_O.