图像处理报告.doc_第1页
图像处理报告.doc_第2页
图像处理报告.doc_第3页
图像处理报告.doc_第4页
图像处理报告.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数字图像处理实验报告数字图像处理实验报告姓名:学号:XX年XX月21目录实验一 图像的存取1实验二 图象直方图统计3实验三 图像的线性变换6实验四 图像平滑消噪处理9实验五 图像中值滤波处理11实验六 图像锐化处理14实验七 图像勾边处理16小 结20数字图像处理实验报告实验一 图像的存取一、 实验目的1.熟悉图像处理的一个开发环境VC+6.0。2.掌握VC+6.0环境下读取位图方式并能够对位图进行显示。3.进行图像*.bmp文件的读写等基本操作,实现图像的二值化处理。二、 实验内容1. 实验原理本实验运用VC+6.0软件中MFC AppWizard(exe)创建图像处理工程,运用C+编程方法对图像进行处理。创建工程时选择Single document,之后,导入图片InsertResource,选择相应Bitmap(位图文件)。图片的大小可以在属性里得到,本实验中图片的大小为320*200,用FOR循环将一个个像素读取出来,然后放大2倍的处理,然后写出像素。此函数定义了三个形参:x,y,gred。其中,x,y仍然为横纵坐标,gred为绘制点的灰度。2. 实验算法:void CImageView:test()int x,y,gred;for(y=0;y200;y+)for(x=0;x320;x+)gred=ReadPixel(x,y);gred=gred*2;WritePixel(x+400,y,gred);3. 结果与分析:(A)结果实验结果截图如下:(B)分析灰度处理函数说明:嵌套使用两个for语句,逐一读取图像每个像素点的灰度值,再将其乘以二,输出至原图像左侧400个像素点处。通过原图像与灰度处理过的图像对比可知灰度及表示灰度图像的亮度。灰度乘二即使原图像的亮度增加一倍。又由于灰度只取8位,原图像灰度值超过128的像素点处理后会变成白色高光点。实验二 图象直方图统计一、 实验目的1、 熟悉直方图的计算。2、 进一步熟悉图像处理的基本方法:图像的读写和修改。3、 复习VC+的图形中的绘图方法。4、 根据要求完成程序设计和调试。二、 实验内容1. 实验原理灰度级图像的直方图就是反应一幅图像中的灰度级与出现这种灰度的概率之间的关系的图形。对于数字图像而言,图像的灰度直方图使一个一维离散函数。用rk代表离散灰度级,则图像的直方图p(rk)可以表示为: (k=0,1,2,,K-1),且有式中nk为图像中出现rk这种灰度的像素,n是图像中的总像素。而nk/n就是概率论中所说的频数,K是灰度级的总数。在直角坐标系中作出rk与p(rk)的关系图像,这个图形称为灰度级的直方图。图像的灰度直方图实际上是以图像像素灰度出现的概率形式来直观表达图像的灰度分布信息。2. 实验算法:void CImageView:test()int x,y,gred256=0;for(y=0;y200;y+)for(x=0;x320;x+)gredReadPixel(x,y)+;for(int i=0;i=255;i+)Drawline(i*3,333,gredi);Drawline2(0,334,3*256);定义两个嵌套循环,x,y分别为图像横纵坐标,因为是320*200的图像,所以x的取值范围是0320,y的取值范围为0200。读取每一个图像像素的灰度值,分别对应存入gred数组保存,最后调用画线函数,将gred数组中的值画出来即完成实验要求。3. 结果与分析:(A)结果实验结果截图如下:(B)分析直方图作图函数说明:首先嵌套使用for语句,实现对整个图像像素点的扫描,用数组gred记录每个灰度出现的次数。最后用for语句完整输出直方图。由于图像像素点较多,为简便,函数中只用相同灰度点出现次数之间的比例大小表示灰度出现的概率。灰度直方图只能反映图像的灰度分布情况,而不能反映图像像素的位置,即丢失了像素的位置信息。一幅图像对应唯一的灰度直方图,反之不成立。不同的图像可对应相同的直方图。一幅图像分成多个区域,多个区域的直方图之和即为原图像的直方图。从直方图可以看出,本图像像素灰度分布不是特别均匀,灰度较大的像素占得比例较大,而灰度较小的像素所占比例较小。实验三 图像的线性变换一、 实验目的1、熟悉图像的线性变换的基本原理。2、掌握图像的线性变换处理的计算机实现方法。3、验证图像的线性变化理论。4、观察图像线性变换处理结果。二、 实验内容1. 实验原理对于灰度分布范围较窄的图像,我们采用图像灰度线性变换方法,提高对比度,达到较为满意的视觉效果。设变换前函数为f(x,y),灰度范围为x0,y0,变换后函数为g(x,y),灰度范围为x1,y1,则图像灰度的线性变换可以表示为: 变换后的灰度区间比变换前的灰度区间要大,即图像的灰度对比度提高了。将x1=0和y1=0,则图像就能达到最大对比度这就是全程变换达到最大对比度。2. 实验算法:本次试验运用,将变换前函数为f(x,y),灰度范围为x0,y0,赋予max ,min通过循环语句实现图像的灰度间距的变换,从而达到图像的全程线性变换,程序如下:void CImageView:test()int x,y,gred,min,max;gred=ReadPixel(0,0);min=gred;max=gred;for(y=0;y200;y+)for(x=0;x320;x+)gred=ReadPixel(x,y);if(gred=max) max=gred;for(y=0;y200;y+)for(x=0;x320;x+)gred=ReadPixel(x,y);gred=(255/(max-min)*(gred-min);WritePixel(x,y+200,gred);3. 结果与分析:(A)结果实验结果截图如下:(B)分析变换后的灰度区间比变换前的灰度区间要大,也就是说经过现行变换后图像的灰度对比度提高了,从而改善了图像的视觉效果。如果改变后的灰度范围取图像的最大取值范围,即gred=0和gred=255,则图像就能达到最大对比度,使观察者能更好地理解图像,这就是全程变换达到最大对比度。经过线性变换处理后,图像明显的清晰了很多,光线的亮度增强,增强了图像的层次,提高了图像的对比度。实验四 图像平滑消噪处理一、 实验目的1、熟悉空间域图像平滑的基本原理及基本方法,重点掌握均值滤波法。2、掌握空间域图像平滑均值滤波法的计算机实现方法。3、验证空间域图像平滑均值滤波法理论。4、观察空间域图像平滑均值滤波法处理的结果。二、 实验内容1. 实验原理均值滤波,是简单的图像平滑化处理方法。它是用一个有奇数点的滑动窗口在图像上滑动,将窗口中心点对应图像像素点的灰度值用窗口内的各个点的灰度值的平均值代替,如果滑动窗口规定了再取均值过程中窗口各个像素点所占的权重,则称为加权均值滤波。定义一个N*N的模版数组。一幅N*N个像素的图像f(x ,y),均值滤波后得到一幅图像g(x, y),g(x ,y)由下式决定: 式中,x,y=0,1,2,N-1;S是点领域中点的坐标的集合。2. 实验算法: void CImageView:Smooth() int x,y,k,gred3;int result200320;for (y=0;y200;y+)for (x=0;x320;x+)for (k=0;k=0 & x+k-1=320)gredk=ReadPixel(x-k-1,y);resultyx=1/3.0*(gred0+gred1+gred2);WritePixel(x+400,y,resultyx);3. 结果与分析:(A)结果实验结果截图如下:(B)分析在经过图像平滑处理后,图像中的鸟羽毛和背景的毛刺感变的不明显,看过去没有突兀感,平滑度较好,但是细节如边界轮廓,线条等稍微变得模糊不清。实验五 图像中值滤波处理一、 实验目的1. 进一步掌握空间域图像平滑的基本原理及方法,重点掌握中值滤波法。2. 掌握空间域图像平滑中值滤波法的计算机实现方法。3. 验证空间域图像平滑中值滤波法理论。4. 观察空间域图像平滑中值滤波法处理的结果。二、 实验内容1. 实验原理中值滤波,也是图像平滑空间域中处理方法之一。种植铝箔实现的基本原理是对应的像素点的灰度值用窗口内的中间值代替,即数字图像或数字序列中一点的值用改点的一个邻域中各点的中值代替。一组数,把各数按值得大小顺序排列于下n为偶数n为奇数y称为序列的中值。把一个点得特定长度或形状的邻域称为窗口。在一维情况下,中值滤波器是一个含有奇数个像素的滑动窗口。窗口正中间那个像素的值用窗口内各个像素的中值代替。中值滤波适用于图像由较大色块组成,而噪声特点是孤立点形式存在的图像。中值滤波可以有效消除噪声,而较好的保留图像的边缘。避免了局域平均法带来的边界模糊的负面影响。在排序后的各个灰度中,采用最中间的灰度值代替选定像素点得灰度,这样的做法便达到了中值滤波的作用,容易去除孤立的噪声点。2. 实验算法:int CImageView:Med(int a,int b,int c) if (b=a & a=c | c=a & a=b) return a;if (a=b & b=c | c=b & b=a) return b;if (b=c & c=a | a=c & c=b) return c;void CImageView:Process()int x,y;int ori200320;int result200320;for (y=0;y200;y+)for (x=0;x320;x+)oriyx=ReadPixel(x,y);for (y=1;y200-1;y+)for (x=0;x320-1;x+)resultyx=Med(oriyx-1,oriyx,oriyx+1);for (y=1;y200-1;y+)for (x=0;x320-1;x+)WritePixel(x+400,y,resultyx);3. 结果与分析:(A)结果实验结果截图如下:(B)分析模板如下:在很强的脉冲干扰下,灰度值的干扰值与邻近像素的灰度值有很大的差异,因此排序后取中值的结果是强迫将此干扰点变成与邻近的某些像素的灰度值一样,较好地保留了图像的边缘。避免了局域平均法带来的边界模糊的负面影响,消除了图像上的一条白色竖线。实验六 图像锐化处理一、 实验目的1. 熟悉图像锐化的基本原理。2. 掌握图像锐化处理的计算机实现方法。3. 验证图像锐化处理的结果。4. 观察图像锐化处理的结果。二、 实验内容1. 实验原理图像锐化处理的目的是为了使图像的边缘,轮廓线以及图像的细节变得清晰,其处理主要应用于增强图像的边缘及灰度跳变部分,通常讲的勾边增强就是图像锐化处理。我们对图像增强的过程中,采用一简单的高频滤波增强方法:G(x,y)=|f(x,y)-f(x+1,y)|+|f(x,y)+f(x,y+1)|2. 实验算法:void CImageView:Sharpen()int x,y;int ori200320;int result200320;for (y=0;y200;y+)for (x=0;x320;x+)oriyx=ReadPixel(x,y);for (y=1;y200-1;y+)for (x=1;x320-1;x+)resultyx=(1+4*ALPHA)*oriyx-ALPHA*(oriy-1x+oriy+1x+oriyx-1+oriyx+1);for (y=0;y200;y+)for (x=0;x320;x+)WritePixel(x+400,y,resultyx);3. 结果与分析:(A)结果实验结果截图如下:(B)分析模板如下:本实验成功实现了=0.1的图像的四邻点锐化,使图像的边缘、轮廓线以及图像的细节变的清晰,取得了较好的效果。在具体实现过程中,上述模板的各个系数都可以改变,系数的选择也很重要,太大了会使图像的轮廓过冲,太小了则图像锐化不明显。图像锐化处理函数说明:图像增强过程中,使用梯度边缘检测算子:,总梯度为 取阈值10。模板,其中=0.4.实验七 图像勾边处理一、 实验目的1. 熟悉图像勾边处理的基本原理。2. 掌握图像勾边处理的计算机实现方法。3. 验证图像勾边处理理论。4. 观察图像勾边处理的结果。二、 实验内容(原理,算法及结果分析)1. 实验原理数字图像的边缘检测是图像分割,目标区域的识别,区域形状提取等图像分析领域十分重要的基础,图像理解和分析的第一步往往就是边缘检测,目前它已成为机器视觉研究领域最活跃的课题之一,在工程应用中占有十分重要的地位。 梯度边缘检测方法梯度运算是一种不受施加运算方向限制的算子,既能检测出边缘的存在,又与施加运算的方向无关。总梯度为:f(x,y)-f(x+1,y)+f(x,y+1)Roberts边缘检测算子Roberts边缘检测算子根据任意一对互相垂直方向上的差分可用来计算梯度的原理,采用对角线方向相邻两像素之差来表示总梯度,即:它们的卷积算子为:2. 实验算法:void CImageView:Gradient()int x,y;int ori200320,g200320;int dfx,dfy,df;for (y=0;y200;y+)for (x=0;x320;x+)oriyx=ReadPixel(x,y);for (y=0;y200-1;y+)for (x=0;x80?255:0;for (y=0;y200;y+)for (x=0;x320;x+)WritePixel(x+320,y,gyx);void CImageView:Prewitt()int x,y;int f200320,p200320;for (y=0;y200;y+)for (x=0;x320;x+)fyx=ReadPixel(x,y);for (y=1;y200-1;y+)for (x=1;x320-1;x+)pyx=abs(fy-1x-1+fyx-1+fy+1x-1)-(fy-1x+1+fyx+1+fy+1x+1)+abs(fy-1x-1+fy-1x+fy-1x+1)-(fy+1x-1+fy+1x+fy+1x+fy+1x+1);for (y=1;y200-1;y+)for (x=1;x80)WritePixel(x+320,y+200,0);elseWritePixel(x+320,y+200,255);void CImageView:roberts()int x,y;int a200320,b200320;int dfx,dfy,df;for (y=0;y200;y+)for (x=0;x320;x+)ayx=Re

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论