武汉大学数字图像处理课程综合实习实习报告
图像处理实习报告

图像处理实习报告篇一:数字图像处理实习报告目录1、图像直方图实验 (1)2、图像的傅立叶变换实验 .......................................... 23、直方图均衡化实验 .................................................. 5 4.图像空间平滑实验 .................................................. 6 5.图像空间锐化实验.................................................. 8 6、图像分割实验-.................................................... 12 7、图像分割实验二 (17)1、图像直方图实验一、实验目的1.在ENVI软件中观察图像的灰度直方图,结合图像掌握直方图的性质和应运。
2.学有余力的同学可采用自己熟悉的开发语言如matlab,IDL等自己制作图像的灰度直方图。
二、实验素材ENVI软件,图像三、实验原理灰度直方图反映的是灰度级函数,描述的是图像中该灰度级的像素个数,它是图像的重要特征之一,反映了图像灰度分布情况。
任何一张图像都对应着唯一的灰度直方图,但不同的图像可以对应相应的直方图,可以用实验来验证。
四、实验过程下图为实验步骤截图:1五、实验心得:通过本次试验学会在Envi软件中查看图像的灰度直方图,在灰度直方图上,准确的反映了图像灰度分布的情况。
2、图像的傅立叶变换实验一、实验目的理解傅立叶变换的原理和傅里叶变换的使用,掌握运用ENVI进行傅立叶变换及频率域平滑和锐化的步骤和方法。
二、实验素材2Envi 软件,图像三、实验原理傅立叶变换原理:连续:反变换:F{f(x)}?F(u)??f(x)e?j2?uxdxj?1f(x)?F?1{F(u)}??F(u))ej2?uxdu1F(u)?N离散:f(x)?反变换:x?0N?1f(x)e?j2?ux/Nj2?ux/NN?1x?0F(u)e四、实验过程:利用傅立叶变换方法进行图像异常(高频)信息提取:1、打开ENVI4.7,单击FILE菜单,在下拉菜单中选择open image file 选项,单击打开自己的图像文件。
数字图像处理实习报告

数字图像处理实习报告在当今数字化的时代,数字图像处理技术在众多领域中发挥着至关重要的作用,从医疗诊断到卫星遥感,从娱乐产业到工业检测,其应用无处不在。
通过这次数字图像处理实习,我对这一领域有了更深入的了解和实践经验。
实习的初始阶段,我主要进行了相关理论知识的学习。
数字图像处理涵盖了众多概念,如图像的数字化表示、像素、灰度值、分辨率等。
了解这些基础知识是后续处理图像的基石。
同时,我还学习了常见的图像格式,如 JPEG、PNG、BMP 等,以及它们的特点和适用场景。
在掌握了一定的理论基础后,我开始接触图像处理的基本操作。
图像增强是我最先实践的部分,通过调整图像的对比度和亮度,能够使原本模糊不清或暗淡的图像变得更加清晰和易于观察。
例如,对于一张曝光不足的照片,增加亮度可以让隐藏在黑暗中的细节显现出来;而提高对比度则可以使图像中的不同区域更加分明,突出重点。
图像滤波是另一个重要的环节。
均值滤波可以有效地去除图像中的噪声,但在一定程度上会使图像变得模糊;中值滤波则能够在去除噪声的同时较好地保留图像的边缘细节。
我通过对不同类型和程度的噪声图像进行滤波处理,直观地感受到了它们的效果差异。
图像的几何变换也是实习中的关键内容。
图像的平移、旋转和缩放操作看似简单,但其背后涉及到复杂的数学计算。
在实际操作中,需要准确地计算变换矩阵,以确保图像在变换后的准确性和完整性。
实习过程中,我还深入研究了图像分割技术。
这是将图像分成不同区域或对象的过程,以便进行后续的分析和处理。
阈值分割是一种常见且简单的方法,通过设定一个阈值,将图像中的像素分为两类。
然而,对于复杂的图像,这种方法往往效果不佳,这时就需要更高级的分割算法,如基于边缘检测的分割或基于区域生长的分割。
在进行数字图像处理的过程中,我也遇到了一些挑战和问题。
例如,在处理大规模图像数据时,计算资源的限制可能导致处理速度缓慢;在选择图像处理算法时,需要根据具体的图像特点和需求进行权衡,否则可能无法达到理想的效果。
数字图像处理实习总结

数字图像处理实习总结数字图像处理是计算机科学与技术领域中的重要课程,通过对图像的获取、分析和改善,可以实现对图像的优化和增强。
在本次数字图像处理实习中,我有幸参与了一系列的实验和项目,从中学习到了许多理论知识,并且在实践中加深了对数字图像处理技术的理解。
本文将对我的实习经验进行总结,并分享一些学习心得和体会。
实习期间,我们首先学习了数字图像处理的基本概念和原理。
我了解到,数字图像是由一系列像素点组成的,每个像素点都有其对应的灰度值或者颜色值。
利用这些像素值,我们可以对图像进行各种各样的处理,例如图像增强、图像重建以及图像分割等。
同时,我们还学习了一些常用的数字图像处理算法和工具,如傅里叶变换、滤波器设计和边缘检测等。
在实习的过程中,我参与了一个图像增强的项目。
项目要求我们对一组低清晰度的图像进行处理,以提高图像的质量和清晰度。
我们首先对图像进行了预处理,包括灰度化、噪声去除和边缘检测等。
接下来,我们尝试了不同的图像增强算法,如直方图均衡化、对比度增强和图像锐化等。
通过对比实验结果,我们选择了最优的图像增强算法,并对处理后的图像进行了评估和比较。
最终,我们成功地提高了图像的质量和清晰度,并得到了较好的效果。
除了参与实验项目,我还积极参与了实习班的交流和讨论。
我们经常组织小组讨论会,分享自己的实验心得和疑惑。
在这些讨论中,我学到了许多其他同学的经验和技巧,也解决了自己遇到的问题。
与此同时,我还利用课余时间自学了一些与数字图像处理相关的进阶知识,如深度学习在图像处理中的应用和人脸识别技术等。
通过这次数字图像处理实习,我收获颇丰。
首先,我深入了解了数字图像处理的基本概念和原理,掌握了常用的图像处理算法和工具。
其次,我通过实践项目,提高了自己的动手能力和解决问题的能力。
最重要的是,我学会了团队合作和交流,通过与同学们的合作,我收获了更多的知识和经验。
总的来说,数字图像处理实习是我的一个难忘的经历。
在这个过程中,我不仅学到了许多理论知识,还获得了宝贵的实践经验。
武汉大学数字图像处理课程综合实习实习报告.

武汉大学数字图像处理课程综合实习实习报告.数字图像处理课程综合实习实习报告学院班级学号姓名日期指导教师一、实习目的和意义本实习内容旨在让同学们通过用VC等高级语言编写数字图像处理的一些基本算法程序,来巩固和掌握图像处理技术的基本技能,提高实际动手能力,并通过实际编程了解图像处理软件的实现的基本原理。
为学生进一步学习数字摄影测量、遥感和地理信息系统等专业课程以及应用图像处理解决实际问题奠定基础。
二、实习原理和方法实习一实现RAW->BMP格式的转换RAW格式:文件按照数字图像组成的二维矩阵,将像素按行列号顺序存储在文件中。
这种文件只含有图像像素数据,不含有信息头,因此,在读图像时,需要根据文件大小,计算图像所包含的行列号,或者需要事先知道图像大小(矩阵大小)。
但这种文件读取和保存简单。
RAW文件按图像上行到下行、左列到右列顺序存储,而BMP文件数据区按图像上下行到上行、左列列到右列顺序存储到数据区。
实现RAW文件到BMP文件的转换,需要为BMP文件生成文件头、信息头、颜色表、数据区,将RAW文件数据区赋值到BMP文件数据区。
实习二灰度线性变换点运算是指像素值(即像素点上的灰度值)通过运算改变之后,可以改善图象的显示效果。
这是一种像素的逐点运算,是旧图象与新图象之间的映射关系,是一种简单但却十分有效的一种图象处理手段。
常用方法有灰度线性变换、直方图均衡、对比度调整、直方图规定化、对数变换、指数变换、密度分割等方法。
灰度的线性变换就是指图像的中所有点的灰度按照线性灰度变换函数进行变换。
灰度变换方程如下:D0=f(Di)=a*Di+b该方程为线性方程。
式中参数Di为输入图像的像素的灰度值,参数D0为输出图像的灰度,a和b由给定条件确定。
实习三图像局部处理:高通滤波和低通滤波局部处理在处理某一像素时,利用与该像素相邻的一组像素,经过某种变换得到处理后图像中某一点的像素值。
目标像素的邻域一般是由像素组成的二维矩阵,该矩阵的大小为奇数,目标像素位于该矩阵的中央,即目标像素就是区域的中心像素。
数字图像处理实习报告

数字图像处理实习报告
本次实习主要任务是进行数字图像处理相关工作,包括图像的预处理、特征提取、图像分割和图像识别等方面的工作。
实习过程中,我主要负责了图像处理算法的编写与优化,以及实验数据的收集与分析。
通过这次实习,我对数字图像处理技术有了更深入的了解,并且提升了自己的编程能力和团队协作能力。
在图像处理算法的编写与优化过程中,我主要使用了Python
语言和常用的图像处理库,如OpenCV和PIL等。
我研究了不同的图像处理算法,并对其进行了实验验证,优化了算法的性能和效果。
通过这些工作,我深入了解了图像处理算法的实现原理和优化方法,提升了自己在图像处理领域的技术水平。
在实验数据的收集与分析过程中,我主要负责了实验数据的采集和整理工作。
我使用了各种图像采集设备,包括相机、摄像头等,对不同场景下的图像进行了采集和整理。
然后我利用Python和Matlab等工具对实验数据进行了分析和结果展示,
为后续的图像处理算法提供了重要的支持和参考。
总的来说,这次实习让我对数字图像处理有了更深入的了解,提升了自己的技术能力和实践能力。
我在实习过程中遇到了不少困难和挑战,但通过团队合作和自我努力,最终都得以克服,取得了一定的成果。
通过这次实习,我深刻地感受到了数字图像处理技术的重要性和广阔的应用前景,也对自己未来的发展方向有了更清晰的认识。
希望通过这次实习的经历,我能够为将来的学习和工作打下坚实的基础。
数字图像处理实验报告

数字图像处理实验报告数字图像处理实验报告1一. 实验内容:主要是图像的几何变换的编程实现,具体包括图像的读取、改写,图像平移,图像的镜像,图像的转置,比例缩放,旋转变换等.具体要求如下:1.编程实现图像平移,要求平移后的图像大小不变;2.编程实现图像的镜像;3.编程实现图像的转置;4.编程实现图像的比例缩放,要求分别用双线性插值和最近邻插值两种方法来实现,并比较两种方法的缩放效果;5.编程实现以任意角度对图像进行旋转变换,要求分别用双线性插值和最近邻插值两种方法来实现,并比较两种方法的旋转效果.二.实验目的和意义:本实验的目的是使学生熟悉并掌握图像处理编程环境,掌握图像平移、镜像、转置和旋转等几何变换的方法,并能通过程序设计实现图像文件的读、写操作,及图像平移、镜像、转置和旋转等几何变换的程序实现.三.实验原理与主要框架:3.1 实验所用编程环境:Visual C++(简称VC)是微软公司提供的基于C/C++的应用程序集成开发工具.VC拥有丰富的功能和大量的扩展库,使用它能有效的创建高性能的Windows应用程序和Web应用程序.VC除了提供高效的C/C++编译器外,还提供了大量的可重用类和组件,包括著名的微软基础类库(MFC)和活动模板类库(ATL),因此它是软件开发人员不可多得的开发工具.VC丰富的功能和大量的扩展库,类的重用特性以及它对函数库、DLL库的支持能使程序更好的模块化,并且通过向导程序大大简化了库资源的使用和应用程序的开发,正由于VC具有明显的优势,因而我选择了它来作为数字图像几何变换的开发工具.在本程序的开发过程中,VC的核心知识、消息映射机制、对话框控件编程等都得到了生动的体现和灵活的应用.3.2 实验处理的对象:256色的BMP(BIT MAP )格式图像BMP(BIT MAP )位图的文件结构:具体组成图: BITMAPFILEHEADER位图文件头(只用于BMP文件) bfType=”BM” bfSize bfReserved1bfReserved2bfOffBitsbiSizebiWidthbiHeightbiPlanesbiBitCountbiCompressionbiSizeImagebiXPelsPerMeterbiYPelsPerMeterbiClrUsedbiClrImportant单色DIB有2个表项16色DIB有16个表项或更少256色DIB有256个表项或更少真彩色DIB没有调色板每个表项长度为4字节(32位)像素按照每行每列的顺序排列每一行的字节数必须是4的整数倍BITMAPINFOHEADER 位图信息头 Palette 调色板 DIB Pixels DIB图像数据1. BMP文件组成BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成.2. BMP文件头BMP文件头数据结构含有BMP文件的类型(必须为BMP)、文件大小(以字节为单位)、位图文件保留字(必须为0)和位图起始位置(以相对于位图文件头的偏移量表示)等信息.3. 位图信息头BMP位图信息头数据用于说明位图的尺寸(宽度,高度等都是以像素为单位,大小以字节为单位, 水平和垂直分辨率以每米像素数为单位) ,目标设备的级别,每个像素所需的位数, 位图压缩类型(必须是 0)等信息.4. 颜色表颜色表用于说明位图中的颜色,它有若干个表项,每一个表项是一个RGBQUAD类型的结构,定义一种颜色.具体包含蓝色、红色、绿色的亮度(值范围为0-255)位图信息头和颜色表组成位图信息5. 位图数据位图数据记录了位图的每一个像素值,记录顺序是在扫描行内是从左到右,扫描行之间是从下到上.Windows规定一个扫描行所占的字节数必须是4的倍数(即以long为单位),不足的以0填充.3.3 BMP(BIT MAP )位图的显示:①一般显示方法:1. 申请内存空间用于存放位图文件2. 位图文件读入所申请内存空间中3. 在函数中用创建显示用位图, 用函数创建兼容DC,用函数选择显示删除位图但以上方法的缺点是: 1)显示速度慢; 2) 内存占用大; 3) 位图在缩小显示时图形失真大,(可通过安装字体平滑软件来解决); 4) 在低颜色位数的设备上(如256显示模式)显示高颜色位数的图形(如真彩色)图形失真严重.②BMP位图缩放显示 :用视频函数来显示位图,内存占用少,速度快,而且还可以对图形进行淡化(Dithering )处理.淡化处理是一种图形算法,可以用来在一个支持比图像所用颜色要少的设备上显示彩色图像.BMP位图显示方法如下:1. 打开视频函数,一般放在在构造函数中2. 申请内存空间用于存放位图文件3. 位图文件读入所申请内存空间中4. 在函数中显示位图5. 关闭视频函数 ,一般放在在析构函数中以上方法的优点是: 1)显示速度快; 2) 内存占用少; 3) 缩放显示时图形失真小,4) 在低颜色位数的设备上显示高颜色位数的图形图形时失真小; 5) 通过直接处理位图数据,可以制作简单动画.3.4 程序中用到的访问函数Windows支持一些重要的DIB访问函数,但是这些函数都还没有被封装到MFC中,这些函数主要有:1. SetDIBitsToDevice函数:该函数可以直接在显示器或打印机上显示DIB. 在显示时不进行缩放处理.2. StretchDIBits函数:该函数可以缩放显示DIB于显示器和打印机上.3. GetDIBits函数:还函数利用申请到的内存,由GDI位图来构造DIB.通过该函数,可以对DIB的格式进行控制,可以指定每个像素颜色的位数,而且可以指定是否进行压缩.4. CreateDIBitmap函数:利用该函数可以从DIB出发来创建GDI 位图.5. CreateDIBSection函数:该函数能创建一种特殊的DIB,称为DIB项,然后返回一个GDI位图句柄.6. LoadImage函数:该函数可以直接从磁盘文件中读入一个位图,并返回一个DIB句柄.7. DrawDibDraw函数:Windows提供了窗口视频(VFW)组件,Visual C++支持该组件.VFW中的DrawDibDraw函数是一个可以替代StretchDIBits 的函数.它的最主要的优点是可以使用抖动颜色,并且提高显示DIB的速度,缺点是必须将VFW代码连接到进程中.3.5 图像的几何变换图像的几何变换,通常包括图像的平移、图像的镜像变换、图像的转置、图像的缩放和图像的旋转等.数字图像处理实验报告2一、实验的目的和意义实验目的:本实验内容旨在让学生通过用VC等高级语言编写数字图像处理的一些基本算法程序,来巩固和掌握图像处理技术的基本技能,提高实际动手能力,并通过实际编程了解图像处理软件的实现的基本原理。
《数字图像处理》实验报告

《数字图像处理》实验报告数字图像处理是一门将图像进行数字化处理的学科,它通过计算机算法和技术手段对图像进行分析、增强、压缩和重建等操作。
在本次实验中,我们学习了数字图像处理的基本概念和常用算法,并通过实验来探索其应用和效果。
首先,我们进行了图像的读取和显示实验。
通过使用Python中的OpenCV库,我们能够轻松地读取图像文件,并将其显示在屏幕上。
这为我们后续的实验奠定了基础。
同时,我们还学习了图像的像素表示方法,了解了图像由像素点组成的原理。
这使我们能够更好地理解后续实验中的算法和操作。
接下来,我们进行了图像的灰度化实验。
灰度化是将彩色图像转换为灰度图像的过程。
在实验中,我们使用了不同的算法来实现灰度化操作,包括平均值法、最大值法和加权平均法等。
通过比较不同算法得到的灰度图像,我们发现不同算法对图像的处理效果有所差异,这使我们深入理解了灰度化的原理和应用。
随后,我们进行了图像的直方图均衡化实验。
直方图均衡化是一种用于增强图像对比度的方法。
在实验中,我们使用了直方图均衡化算法来对图像进行处理,并观察了处理前后的效果变化。
通过实验,我们发现直方图均衡化能够显著提高图像的对比度,使图像更加清晰和鲜明。
在进一步探索图像处理技术的过程中,我们进行了图像的滤波实验。
滤波是一种常用的图像处理操作,它通过对图像进行卷积操作来实现。
在实验中,我们学习了不同类型的滤波器,包括均值滤波器、高斯滤波器和中值滤波器等。
通过比较不同滤波器对图像的处理效果,我们发现每种滤波器都有其适用的场景和效果。
此外,我们还进行了图像的边缘检测实验。
边缘检测是一种用于提取图像边缘信息的方法。
在实验中,我们学习了不同的边缘检测算法,包括Sobel算子、Canny算子和Laplacian算子等。
通过比较不同算法对图像的处理效果,我们发现每种算法都有其独特的特点和应用。
最后,我们进行了图像的压缩实验。
图像压缩是一种将图像数据进行压缩以减小文件大小的方法。
武汉大学数字图像处理课程综合实习实习报告要点

数字图像处理课程综合实习实习报告学院班级学号姓名日期指导教师一、实习目的和意义本实习内容旨在让同学们通过用VC等高级语言编写数字图像处理的一些基本算法程序,来巩固和掌握图像处理技术的基本技能,提高实际动手能力,并通过实际编程了解图像处理软件的实现的基本原理。
为学生进一步学习数字摄影测量、遥感和地理信息系统等专业课程以及应用图像处理解决实际问题奠定基础。
二、实习原理和方法实习一实现RAW->BMP格式的转换RAW格式:文件按照数字图像组成的二维矩阵,将像素按行列号顺序存储在文件中。
这种文件只含有图像像素数据,不含有信息头,因此,在读图像时,需要根据文件大小,计算图像所包含的行列号,或者需要事先知道图像大小(矩阵大小)。
但这种文件读取和保存简单。
RAW文件按图像上行到下行、左列到右列顺序存储,而BMP文件数据区按图像上下行到上行、左列列到右列顺序存储到数据区。
实现RAW文件到BMP文件的转换,需要为BMP文件生成文件头、信息头、颜色表、数据区,将RAW文件数据区赋值到BMP文件数据区。
实习二灰度线性变换点运算是指像素值(即像素点上的灰度值)通过运算改变之后,可以改善图象的显示效果。
这是一种像素的逐点运算,是旧图象与新图象之间的映射关系,是一种简单但却十分有效的一种图象处理手段。
常用方法有灰度线性变换、直方图均衡、对比度调整、直方图规定化、对数变换、指数变换、密度分割等方法。
灰度的线性变换就是指图像的中所有点的灰度按照线性灰度变换函数进行变换。
灰度变换方程如下:D0=f(Di)=a*Di+b该方程为线性方程。
式中参数Di为输入图像的像素的灰度值,参数D0为输出图像的灰度,a和b由给定条件确定。
实习三图像局部处理:高通滤波和低通滤波局部处理在处理某一像素时,利用与该像素相邻的一组像素,经过某种变换得到处理后图像中某一点的像素值。
目标像素的邻域一般是由像素组成的二维矩阵,该矩阵的大小为奇数,目标像素位于该矩阵的中央,即目标像素就是区域的中心像素。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字图像处理课程综合实习实习报告学院班级学号姓名日期指导教师一、实习目的和意义本实习内容旨在让同学们通过用VC等高级语言编写数字图像处理的一些基本算法程序,来巩固和掌握图像处理技术的基本技能,提高实际动手能力,并通过实际编程了解图像处理软件的实现的基本原理。
为学生进一步学习数字摄影测量、遥感和地理信息系统等专业课程以及应用图像处理解决实际问题奠定基础。
二、实习原理和方法实习一实现RAW->BMP格式的转换RAW格式:文件按照数字图像组成的二维矩阵,将像素按行列号顺序存储在文件中。
这种文件只含有图像像素数据,不含有信息头,因此,在读图像时,需要根据文件大小,计算图像所包含的行列号,或者需要事先知道图像大小(矩阵大小)。
但这种文件读取和保存简单。
RAW文件按图像上行到下行、左列到右列顺序存储,而BMP文件数据区按图像上下行到上行、左列列到右列顺序存储到数据区。
实现RAW文件到BMP文件的转换,需要为BMP文件生成文件头、信息头、颜色表、数据区,将RAW文件数据区赋值到BMP文件数据区。
实习二灰度线性变换点运算是指像素值(即像素点上的灰度值)通过运算改变之后,可以改善图象的显示效果。
这是一种像素的逐点运算,是旧图象与新图象之间的映射关系,是一种简单但却十分有效的一种图象处理手段。
常用方法有灰度线性变换、直方图均衡、对比度调整、直方图规定化、对数变换、指数变换、密度分割等方法。
灰度的线性变换就是指图像的中所有点的灰度按照线性灰度变换函数进行变换。
灰度变换方程如下:D0=f(Di)=a*Di+b该方程为线性方程。
式中参数Di为输入图像的像素的灰度值,参数D0为输出图像的灰度,a和b由给定条件确定。
实习三图像局部处理:高通滤波和低通滤波局部处理在处理某一像素时,利用与该像素相邻的一组像素,经过某种变换得到处理后图像中某一点的像素值。
目标像素的邻域一般是由像素组成的二维矩阵,该矩阵的大小为奇数,目标像素位于该矩阵的中央,即目标像素就是区域的中心像素。
经过处理后,目标像素的值为经过特定算法计算后所得的结果。
主要的局部处理算法有卷积、中值滤波sobel 边缘检测等,其中卷积算法的应用最广泛,大部分的局部处理都采用卷积算法来实现。
卷积可以简单地看成加权求和的过程。
卷积时使用的权用一个很小的矩阵来表示,矩阵的大小是奇数,而且与使用的区域的大小相同。
这种权矩阵叫做卷积核,区域中的每个像素分别与卷积核中的每个元素相乘,所有乘积之和即为区域中心像素的新值。
比如,对于一个3x3的区域P 与卷积核K 卷积后,区域P 的中心像素5p 表示为:∑==915.i ii k p p其中,P=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡987654321p p p p p p p p p ,K=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡987654321k k k k k k k k k卷积核中各元素叫做卷积系数。
卷积核中卷积系数的大小、方向积排列顺序决定了卷积的图像处理效果,如低通滤波:图像平滑与模糊,高通滤波:图像锐化与清晰。
通常采用3x3、5x5或7x7的卷积核,所有卷积核的行、列数都是奇数。
实习四 图像几何变换:缩放、旋转、平移、转置1.图像平移将图像中所有的点都按照指定的平移量水平、垂直移动。
设(,)为原图像上的一点,图像水平平移量,垂直平移量为,则平移后点(,)的坐标变为(x1,y1)。
用公式和齐次坐标可以表示为由此可以计算出平移后每个像素点的新位置,实现平移。
2.图像旋转在笛卡尔坐标系中原始坐标为,旋转角后,坐标变为(),写成矩阵形式为设旋转后新图像的左上角为原点,把笛卡尔坐标系中的坐标换到屏幕坐标系,计算原始坐标旋转角后的新坐标(),可先将笛卡尔坐标系原点(0,0)平移到坐标点,根据上式及上式的逆式进行旋转,最后平移回新的坐标原点。
设旋转前中心坐标为,旋转后中心坐标为。
.即3.图像缩放设源图中某个像素点坐标为,经缩放后的坐标为(),则有4.图像转置图像转置是一种较简单的几何变换,设源图中的某个像素点坐标为,其转置对应新图坐标为(),二者的关系如下实习五图像边缘提取:中值滤波、边缘检测中值滤波是一种典型的低通滤波器,它的目的是去除噪声,同时能保护图像边缘。
中值滤波一般采用一个含有奇数个点的滑动窗口,将窗口中个点灰度值的中值来代替指定点(一般为窗口中心)的灰度值。
对于奇数个元素,中值是取窗口中各元素按由小到大排序后中间的灰度值;对于偶数个元素,一般取排序后中间两个元素灰度值的平均值为中值。
对于阶跃状边缘,在边缘点处一阶导数有极值,因此可以利用这一特性通过计算每个像素的梯度来检测边缘点。
对于离散图像来说,常用一阶差分近似表示一阶导数,即fx’=f(x+1,y)-f(x,y)fy’= f(x,y+1)-f(x,y)为简化梯度的计算,常用下面的近似表达式:grad(x,y)=max(|fx’|,|fy’|),或者grad(x,y)=|fx’|+|fy’|常用的梯度算子有Roberts梯度算子、Prewitt算子和Sobel算子。
对于阶跃状边缘,其二阶导数在边缘点出现零交叉,且边缘点两旁二阶导数取异号。
对数字图像的每个像素计算关于x和y方向的二阶偏导数之和。
实习六基于灰度的模板匹配所谓模板匹配,是根据模板与一幅图像的各部分的相似度判断其是否存在,并求得模板在图像中位置的操作。
设模板T 叠放在搜索图像S 上平移,模板覆盖的搜索区叫做子图像,i,j 为子图像的左上角在S 图像中的坐标,i, j 的取值范围为1<i, j<N−M+1。
衡量子图像和模板之间的差别用平方误差之和或绝对差之和来表示,即或者也可用相关函数作为相似性测度或者归一化为实习七基于特征的模板匹配由于图像往往有较强自相关性,因此,进行模板匹配计算的相似度就在以对象物存在的地方为中心形成平缓的峰。
这样,即使从图像中对象物的真实位置稍微离开一点,也表现出相当高的相似度。
为了求得对象物的精确位置,总希望相似度分布尽可能尖锐一些。
为了达到这一目的,提出了基于轮廓特征的模板匹配方法。
轮廓匹配与一般的匹配相比较,表现出更尖锐的相似度的分布。
但其方法与基于灰度的模板匹配相似,只是这里通过对图像轮廓等形状特征进行匹配,从而提高匹配精度。
实习八图像二值化1.状态法(峰谷法)如果一幅灰度图像的直方图有双峰和明显的谷,那么选择两峰之间的谷所对应的灰度T作为阈值,按下式进行二值化,即可将目标从图像中分割出来:2.判断分析法三、实习过程和步骤实习一实现RAW->BMP格式的转换1.打开自己实习所建的项目。
2.添加菜单项“RAW—〉BMP”。
3.为该菜单建立消息处理函数。
4.在函数定义处添加自己的源代码。
5.编译检查语法错误。
若编译通过,运行程序,检查是否正确实现RAW—〉BMP格式的转换。
流程图如下图所示:实习二灰度线性变换1.打开自己上次实习所建的项目,为该工程添加一个新类,用于实现对BMP格式图像文件进行处理的操作。
2.在新类中加入相应属性和操作。
3.在自己创建的类中添加线性拉伸操作。
4.添加一栏主菜单“图像增强”,再在其下拉菜单中加入一项“线性拉伸”子菜单。
建立消息处理函数。
5.为子菜单“线性拉伸”。
6.在函数定义处添加自己的源代码(通过自己建的类对象来实现)。
7.编译检查语法错误,若编译通过,运行程序,检查设计的灰度线性变换程序是否正确。
其流程图如下图所示:实习三图像局部处理:高通滤波和低通滤波1.打开上次实习所建的项目。
2.在自己创建的类中添加滤波操作。
3.添加菜单项分别建立“3×3低通滤波”、“3×3高通滤波”。
4.为新加的两个菜单项分别建立消息处理函数。
5.在函数体内添加实现3×3低通滤波(或3×3低通滤波)的源代码。
6.编译检查语法错误,若编译通过,运行程序,检查是否确实实现局部处理算法。
其流程图如下图所示:实习四图像几何变换:缩放、旋转、平移、转置1.打开上次实习创建的工程。
2.为该工程添加一个新类,用于实现有关BMP格式图像文件处理的各种操作。
3.在新类中加入相应属性和操作。
4.在菜单中加入“平移/缩放/旋转/转置”菜单项,并为其添加相应消息处理函数。
5.在函数定义处添加自己的源代码(通过调用新建类的对象中相应的操作来实现)。
6.编译检查语法错误,若编译通过,运行程序,检查上述变换是否正确。
其流程图如下图所示:实习五图像边缘提取:中值滤波、边缘检测(1)中值滤波1.打开上次实习所用的项目。
2.在自己创建的类中添加中值滤波操作。
3.添加菜单项“中值滤波”。
4.为新加的菜单项建立消息处理函数。
5.在函数体内添加实现中值滤波的源代码。
6. 编译检查语法错误,若编译通过,运行程序,检查是否正确实现中值滤波算法。
其流程图如下图所示:(2)边缘检测1.打开上次实习所用的项目。
2.在自己创建的类中添加各种边缘检测操作。
3.添加菜单项“边缘检测”,再为“边缘检测”菜单添加子菜单项“Roberts边缘检测”、“Prewitt边缘检测”、“Sobel边缘检测”。
4.为新加的菜单项建立消息处理函数。
5.在函数体内添加实现中值滤波的源代码(通过类对象中的操作来实现)。
6. 编译检查语法错误,若编译通过,运行程序,观察与分析边缘检测算子检测结果。
其算法与流程与局部处理相似,此处略去。
实习六基于灰度的模板匹配1.打开上次实习所用的项目。
2.在自己创建的类中添加基于灰度的模板匹配操作。
3.添加菜单项“基于灰度的模板匹配”。
4.为新加的菜单项建立消息处理函数。
5.在函数体内添加实现中值滤波的源代码(通过类对象中的操作来实现)。
6. 编译检查语法错误,若编译通过,运行程序,观察基于灰度模板匹配得到的结果是否与模板一致。
其流程图如下图所示:实习七基于特征的模板匹配1.打开上次实习所用的项目。
2.在自己创建的类中添加基于特征的模板匹配操作。
3.添加菜单项“基于特征的模板匹配”。
4.为新加的菜单项建立消息处理函数。
5.在函数体内添加实现中值滤波的源代码(通过类对象中的操作来实现)。
6. 编译检查语法错误,若编译通过,运行程序,观察基于特征模板匹配得到的结果是否与模板一致。
其流程与基于灰度的模板匹配流程相似,但在计算模板与重叠影像的相关系数之前,先要将模板和位图都进行边缘提取。
实习八图像二值化1.打开上次实习所用的项目。
2.在自己创建的类中添加各种图像分割算法操作。
3.添加菜单项“状态法(峰谷法)/判断分析法”。
4.为新加的菜单项建立消息处理函数。
5.在函数体内添加实现中值滤波的源代码(通过类对象中的操作来实现)。
6. 编译检查语法错误,若编译通过,运行程序,观察判断两种方法的分割效果,对结果进行分析和比较。
其流程图如下图所示:四、实习结果分析与评价运行程序时,显示的菜单项如下图所示:打开一张图像后,显示的菜单项如下图所示:(1)实现RAW->BMP格式的转换点击“格式转换”菜单项的子菜单项“Raw to Bmp”,出现以下对话框:此对话框优点在于能够根据给定的Raw格式自动算出图像的宽和高,但两个组框的功能尚未实现,且转换后的图像相对于原图像是倒的。