光学图像处理实验报告_图像处理实验报告

其他范文 时间:2020-02-28 18:54:53 收藏本文下载本文
【www.daodoc.com - 其他范文】

光学图像处理实验报告由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“图像处理实验报告”。

光学图像处理实验报告

直方图均衡化的研究

一、摘要

直方图均衡化就是把一已知灰度概率分布的图像经过一种变换,使之演变成一幅具有均匀灰度概率分布的新图像。它是以累积分布函数变换法为基础的直方图修正法。分析和总结灰度直方图的均衡化算法并通过VC++实验验证该方法能有效达到图像增强的目的。对于较为暗淡的图像,采用直方图均衡化能够增强其整体对比度,获的较为理想的观察效果。

二、关键字

灰度统计

直方图

均衡化

三、实验原理

1、直方图的理论基础:

(1)直方图概念:灰度直方图表示图像中每种灰度出现的频率。(2)直方图的作用: 反映一幅图像的灰度分布特性

n(3)直方图的计算:

p(rk)k0rk1k0,1,2,,l1 n式中:nk为图像中出现rk级灰度的像素数,n是图像像素总数,而nk/n即为频数。

2、设计目的: 产生一幅灰度级分布具有均匀概率密度的图像,扩展像素取值的动态范围,达到了图象增强的目的。

3、直方图均衡化的效果 :

1)变换后直方图趋向平坦,灰级减少,灰度合并。

2)原始象含有象素数多的几个灰级间隔被拉大了,压缩的只是象素数少的几个灰度级,实际视觉能够接收的信息量大大地增强了,增加了图象的反差。同时,也增加了图象的可视粒度。

4、离散情况下的直方图均衡化的算法:

A、列出原始图像的灰度级 fj,j0,1,,L1

B、统计各灰度级的像素数目 nj,j0,1,,L1

C、计算原始图像直方图各灰度级的频数 Pf(fj)nj/n,j0,1,,L1

kD、计算累积分布函数 C(f)j0Pf(fj),j0,1,,k,L1

F、应用以下公式计算映射后的输出图像的灰度级,P为输出图像灰度级的个数,其中INT为取整符号:

giINT[(gmaxgmin)C(f)gmin0.5] G、用的映射关系修改原始图像的灰度级,从而获得直方图近似为均匀分布的输出图像。

四、实验内容及源程序

1、灰度分布密度的统计 程序代码如下:

/*********************************************** *函数名称:ZhiFangTu(float *tongji)*函数类型:void *变量说明:tongji,灰度分布密度统计 *功能:对图像进行灰度直方图统计

***********************************************/ void CAAAView::OnZhifangtu(float *tongji){ // TODO: Add your command handler code here

int huidu[256];//灰度计数

CAAADoc* pDoc = GetDocument();

LPSTR lpDIB;LPSTR

lpDIBBits;

lpDIB =(LPSTR)::GlobalLock((HGLOBAL)pDoc->GetHDIB());

lpDIBBits = ::FindDIBBits(lpDIB);//原图数据区指针

int iH,iW;memset(huidu,0,sizeof(huidu));//变量初始化

iH = ::DIBHeight(lpDIB);//宽

iW = ::DIBWidth(lpDIB);//长

LPBYTE temp1=new BYTE[iH*iW];//新图像缓冲区

memcpy(temp1,lpDIBBits,iH*iW);//复制原图像到缓冲区

for(int i=0;i

{ for(int j=0;j

{

unsigned char temp;

temp=temp1[iW*i+j];//灰度统计计数

huidu[temp]++;} } for(i=0;i

tongji[i]=huidu[i]/(iH*iW*1.0f);}

2、直方图分布的均衡化

(1)统计直方图数组,用一个数组p记录pi;(2)i从1开始,令sisi1pi;

(3)一个数组L记录新的s的索引值,即令Lisi*(2561);

(4)依次循环每个像素,取原图的像素值作为数组L的下标值,取该下标值对应的数组值作为均衡化之后的像素值。程序代码如下:

/*********************************************** *函数名称:zhifangtujunheng *函数类型:void *变量说明:无

*功能:对图像进行灰度分布均衡化处理

***********************************************/ void CAAAView::OnZhifangtujunheng(){ // TODO: Add your command handler code here CAAADoc* pDoc = GetDocument();

LPSTR lpDIB;LPSTR

lpDIBBits;

lpDIB =(LPSTR)::GlobalLock((HGLOBAL)pDoc->GetHDIB());

lpDIBBits = ::FindDIBBits(lpDIB);//原图数据区指针

float Hdmd[256];//灰度密度

float temp[256];//中间变量

int a[256];long i,j;memset(temp,0,sizeof(temp));//初始化

OnZhifangtu(Hdmd);//获取图像的灰度密度分布

for(i=0;i

{

if(i==0)

{

temp[0]=Hdmd[0];

}

else

{

temp[i]=temp[i-1]+Hdmd[i];

}

a[i]=(int)(255.0f*temp[i]+0.5f);}

long iH,iW;

iH = ::DIBHeight(lpDIB);//宽

iW = ::DIBWidth(lpDIB);//长

for(i=0;i

{ for(j=0;j

{ unsigned char temp1;//将转换后的灰度分布写入dib图像

temp1=*(lpDIBBits+i*iW+j);

*(lpDIBBits+i*iW+j)=a[temp1];} } pDoc->UpdateAllViews(NULL);::GlobalUnlock((HGLOBAL)pDoc->GetHDIB());EndWaitCursor();}

五、实验结果的分析与比较

a原图如下所示:

b均衡后的结果如下:

结论:图像直方图趋于平坦化,且灰度间隔被拉大,从而有利于图像的分析和识别。对于较为暗淡的图像,采用直方图均衡化能够增强其整体对比度,获的较为理想的观察效果。

六、参考文献

VC++图像处理程序设计(第二版)(杨淑莹等 编著)

数字信号处理实验报告

数字信号处理 实验报告实验一序列的傅立叶变换一、实验目的1.进一步加深理解DFS,DFT算法的原理; 2.研究补零问题; 3.快速傅立叶变换(FFT)的应用。二、实验步骤1.复习DFS和DFT......

数字图像处理实验报告

数字图像处理实验报告数字图像处理实验报告1一. 实验内容:主要是图像的几何变换的编程实现,具体包括图像的读取、改写,图像平移,图像的镜像,图像的转置,比例缩放,旋转变换等......

数字图像处理实验报告

刀豆文库小编为你整合推荐8篇数字图像处理实验报告,也许这些就是您需要的文章,但愿刀豆文库能带给您一些学习、工作上的帮助。......

数字图像处理实验报告

刀豆文库小编为你整合推荐8篇数字图像处理实验报告,也许这些就是您需要的文章,但愿刀豆文库能带给您一些学习、工作上的帮助。......

数字图像处理实验报告

实 验 报 告 书系部学生专业班实验 名称姓名名称 级时间:: : : :实验一 直方图均衡一、实验目的在学习图像直方图的概念、计算方法、性质和相关应用基础上,生成、绘制图像的直方......

下载光学图像处理实验报告word格式文档
下载光学图像处理实验报告.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

热门文章
点击下载本文