南京理工大学数字图像处理实验报告_第1页
南京理工大学数字图像处理实验报告_第2页
南京理工大学数字图像处理实验报告_第3页
南京理工大学数字图像处理实验报告_第4页
南京理工大学数字图像处理实验报告_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、 数字图像处理 实验报告 课程: 数字图像处理 教师: 王 韬 姓名: 学号: 实验一 直方图线性变换及直方图均衡化一、实验目的 通过了解直方图的绘制、线性变换和均衡化的基本原理与实现方法,熟悉在计算机上进行直方图均衡化、线性变换的方法,来掌握简单的直方图均衡化和线性变换程序设计编写。二、实验内容 编写直方图的显示、均衡化及线性变换的C+语言程序,同时显示线性变换后的直方图。三、实验步骤 1、新建MFC工程;2、分析程序流程; 3、编写程序; 4、运行调试;5、 显示结果;6、 分析结果。4、 实验原理及实现方案(1) 线性变换原理:线性变换是灰度变换的一种,就是将一个灰度区间映射到另一个灰度

2、区间的变换。线性增强变换可使图像动态范围加大,图像对比度扩展,图像清晰,特征明显,是图像增强的重要手段。此次实验采取的灰度变换公式是分段函数,如下图所示, g(i,j) 255 0 30 160255f(i,j)部分程序代码如下(详细见源文件):for(i=1;i<height;i+)for(j=0;j<width;j+) int pos =width*i+j; BYTE c = pDatapos; pDC->SetPixel(j,260+height-i,RGB(c,c,c); if(c<30) pDC->SetPixel(j,height-i,RGB(0,0,

3、0); else if(c>160) pDC->SetPixel(j,height-i,RGB(255,255,255); else BYTE c2=BYTE(1.0*255/130*(c-30); pDC->SetPixel(j,height-i,RGB(c2,c2,c2); countint(c)+;通过对不同区域的灰度值进行不同的线性变换,从而达到预期目的。(2) 直方图均衡化原理:直方图均衡化主要用于修正那些灰度范围小,灰度集中的图像,通过修正使灰度拉开,灰度变丰富,从而起到增强图像视觉效果的作用。实现方案:根据书本上所介绍的方法计算变换函数Sk和对应每个Sk的Nsk

4、,,最后求得每个灰度级均衡化后所得的概率。再根据所得的概率画出均衡化后的直方图,比较与均衡化前的直方图的区别,分析两者的差别。算法实验步骤:步骤1:原图像素点个数步骤2:原图分布概率步骤3:原图累计概率步骤4:对累计概率四舍五入步骤5:绘制直方图部分程序代码如下(详细见源文件): int ss257;for(i=0;i<257;i+)ssi=0;int pos =width*i+j;for(i=0;i<256;i+)counti=counti*10000/pos;ssi+1=ssi+counti; for(i=1;i<256;i+) for(int ii=0;ii<25

5、6;ii+) if(ii*10000/256)>ssi+1) pi+1=ii; break; if(pi+1!=pi) kk+; ppkk=i; for(i=1;i<=kk;i+)pDC->MoveTo(500+2*i,600); pDC->LineTo(500+2*i,600-(ssppi-ssppi-1);5、 实验结果 1、线性变换 原图 线性变换后2、 直方图均衡化 均衡化后 均衡化前直方图 均衡化后直方图程序显示结果实验二 图像增强(任选两模块)模块一 图像锐化一、实验目的 掌握图像锐化的基本原理,掌握拉普拉斯算子锐化的方法,熟悉计算机上进行图像锐化的方法。二

6、、实验内容编写简单锐化及拉普拉斯算子锐化的C+MFC程序,根据所显示的图像,和原图比较,分析锐化后的效果。3、 实验步骤 1、新建MFC工程;2、分析程序流程; 3、编写程序; 4、运行调试; 5、显示结果; 6、分析结果。四、实验原理及实现方案 原理:拉普拉斯算子是与一个边缘方向无关的边缘点检测算子。它对孤立像素的响应要比对边缘或线的响应更强烈, 因此使用该算子进行图像锐化之前需要对图像作平滑处理。拉普拉斯算子是一种二阶微分算子一个连续的二元函数f (x , y ) , 其拉普拉斯运算定义为对于数字图像,拉普拉斯算子可以简化为g(i,j)= 8f(i,j)- f(i+1,j)- f(i-1,

7、j)- f(i,j+1)- f(i,j-1)上面的表达式可以表示为卷积的形式。即表达式中的i,j=0,1,2.N-1;k=1。,i=1,H(r,s)取样如下式子部分程序代码如下(详细见源文件):五、实验结果 采用拉普拉斯增强算子锐化后模块二 均值滤波一、实验目的 掌握均值滤波的基本原理,掌握计算邻域均值的方法,熟悉计算机上进行均值滤波的方法。二、实验内容编写均值滤波及图像平滑化的C+MFC程序,根据所显示的图像,和原图比较,分析均值滤波图像平滑化后的效果。三、实验步骤 1、新建MFC工程;2、分析程序流程; 3、编写程序; 4、运行调试; 5、显示结果; 6、分析结果。四、实验原理及实现方案

8、原理:最简单的局部平均法称为非加权邻域平均,它均等地对待邻域中的每个像素,即各个像素灰度值的平均值作为中心像素的输出值。设有一副图像用均匀滤波所得的图像为g(x,y),则 ,M表示集合s里像素的总数。 部分程序如下(详细见源文件):五、实验结果均值滤波处理后实验三:自动阈值迭代法及Otsu法方法一 自动阈值迭代法一、实验原理 开始时选择一个阈值作为初始估计值,然后按照某种策略不断地改进这一估计值,直到满足给定的准则为止 2、 实验算法(1) 估计一个阈值T(比如均值)(2) 用阈值T将灰度直方图分割成两个区域R1和R2 (3) 分别计算两个区域R1和R2内的灰度平均值u1和u2; (4) 选择

9、新阈值T=(u1+u2)/2; (5) 重复上述工作3-5次,直到前后两次的阈值不变三、实验步骤 1、新建MFC工程;2、分析程序流程; 3、编写程序; 4、运行调试; 5、显示结果; 6、分析结果。部分程序如下(详细见源文件):for(int i=0;i<height;i+) /求取灰度均值作为初始阈值Ta for(int j=0;j<width;j+)c=dib.pDatai*height+j; sum+=c; Ta=sum/N; Tb=Ta; /新阈值Tb,最佳阈值为Tc if(Tb!=Tc) Tc=Tb;int suma=0,sumsa=0; int sumb=0,sums

10、b=0; for(int p=0;p<height;p+)for(int q=0;q<width;q+) c=dib.pDatap*width+q;if(c<Tc)suma+=c; sumsa+; else sumb+=c; sumsb+; ua=(float)suma/(float)sumsa; ub=(float)sumb/(float)sumsb; Tb=(int)(ua+ub)/2; /比较 for(int m=0;m<height;m+)for(int n=0;n<width;n+) c=dib.pDatam*width+n;if(c>Tb)dib

11、.pDatam*width+n=255;elsedib.pDatam*width+n=0; dib.DrawByPixel(pDC);四、实验结果迭代法方法二 Otsu法一、实验原理大津法:对图像Image,记t为前景与背景的分割阈值,前景点数占图像比例为w0,平均灰度为u0;背景点数占图像比例为w1,平均灰度为u1。图像的总平均灰度为:u=w0*u0+w1*u1。从最小灰度值到最大灰度值遍历t,当t使得值g=w0*(u0-u)2+w1*(u1-u)2 最大时t即为分割的最佳阈值。对大津法可作如下理解:该式实际上就是类间方差值,阈值t分割出的前景和背景两部分构成了整幅图像,而前景取值u0,概率

12、为 w0,背景取值u1,概率为w1,总均值为u,根据方差的定义即得该式。因方差是灰度分布均匀性的一种度量,方差值越大,说明构 成图像的两部分差别越大, 当部分目标错分为背景或部分背景错分为目标都导致两部分差别变小,因此使类间方差最大的分割意味着错分概率最小。 二、实验算法自动阈值(Otsu法)步骤 (1)计算直方图 (2)设置初值:w(0)以及u(0) (3)从1到最大值设置阈值T。更新w (t)以及u(t)。计算b(t) * b(t)。 (4)选取最大b(t) * b(t)对应的T三、实验步骤 1、新建MFC工程;2、分析程序流程; 3、编写程序; 4、运行调试; 5、显示结果; 6、分析结

13、果。部分程序如下(详细见源文件): for(int T=1;T<256;T+) /从1到255设置阈值T,U为平均灰度,W为平均概率 int suma=0,sumsa=0; int sumb=0,sumsb=0; for(int d=0;d<height;d+)for(int e=0;e<width;e+) c=dib.pDatad*width+e; if(c<T) suma+=c; sumsa+; else sumb+=c; sumsb+; ua=(float)suma/(float)sumsa; wa=(float)sumwa/(float)N; ub=(float)sumb/(float)sumsb; wb=(float)sumwb/(float)N; /求的最大化类间方差 D=wa*wb*(ua-ub)*(ua-ub);

温馨提示

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

最新文档

评论

0/150

提交评论