首页 OpenCV统计应用-直方图等化

OpenCV统计应用-直方图等化

举报
开通vip

OpenCV统计应用-直方图等化OpenCV统计应用-直方图等化 OpenCV统计应用-直方图等化 直方图等化(Histogram Equalization)为一种使用统计方法的影像处理程序设计,它的功能为将统计直方图的色彩分布平均的打散在直方图里,也就是说,让一张图的直方图分布均匀化,同样的也是使用到LUT(Look-up Table)的方法 而在设计直方图等化不可或缺的就是需要先知道统计学的机率密度函数(Probability Density Function,PDF)以及累积分配函数(Cumlative Distribution Funct...

OpenCV统计应用-直方图等化
OpenCV统计应用-直方图等化 OpenCV统计应用-直方图等化 直方图等化(Histogram Equalization)为一种使用统计 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 的影像处理程序 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 ,它的功能为将统计直方图的色彩分布平均的打散在直方图里,也就是说,让一张图的直方图分布均匀化,同样的也是使用到LUT(Look-up Table)的方法 而在设计直方图等化不可或缺的就是需要先知道统计学的机率密度函数(Probability Density Function,PDF)以及累积分配函数(Cumlative Distribution Function,CDF)相关的基本概念,在这边会简单的说明机率密度函数及累积分配函数的概念还有直方图等化的程序设计实作,而OpenCV也提供了直接使用直方图等化的函式,cvEqualizeHist(),下面就简单的制作直方图等化的程序设计 RGB结构直方图等化 #include #include #include int main() {     IplImage *Image1;     IplImage *Image2;     IplImage *RedImage;     IplImage *GreenImage;     IplImage *BlueImage;     Image1=cvLoadImage("DarkClouds.jpg",1);     Image2=cvCreateImage(cvGetSize(Image1),IPL_DEPTH_8U,3);     RedImage=cvCreateImage(cvGetSize(Image1),IPL_DEPTH_8U,1);     GreenImage=cvCreateImage(cvGetSize(Image1),IPL_DEPTH_8U,1);     BlueImage=cvCreateImage(cvGetSize(Image1),IPL_DEPTH_8U,1);     cvSplit(Image1,BlueImage,GreenImage,RedImage,0);     cvEqualizeHist(BlueImage,BlueImage);     cvEqualizeHist(GreenImage,GreenImage);     cvEqualizeHist(RedImage,RedImage);     cvMerge(BlueImage,GreenImage,RedImage,0,Image2);     cvNamedWindow("DarkClouds",1);     cvShowImage("DarkClouds",Image1);     cvNamedWindow("Equalize DarkClouds",1);     cvShowImage("Equalize DarkClouds",Image2);     cvWaitKey(0); } 原始图片: 执行结果: 当然,使用了函式之后就完全不用知道直方图等化在跑什么啦,cvEqualizeHist()只支持单信道uchar型别的图片数据结构,因此,就需要用cvSplit()分割,而这里所做的是将RGB三原色直接做直方图等化,这个直方图等化的结果是彩色的,将个别的RGB直分割后再用cvMerge()合并,通道分割与合并的部份就要参考"数据结构操作与运算-信道的分割,合并与混合"这个地方了. 再来就是比较复杂的直方图等化算法,要知道直方图等化如何计算就要知道以下的 步骤 新产品开发流程的步骤课题研究的五个步骤成本核算步骤微型课题研究步骤数控铣床操作步骤 1.数据结构初始化 2.机率密度函数(PDF)的计算 3.累积分配函数(CDF)的计算 4.LUT对应 在机率密度函数的部分,在统计直方图来讲,它的X轴范围会落在0~255,而它的Y轴范围代 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 着机率,由0~255对应的数据代表着它发生的机率,也就是说,这代表着0到255数值出现的机率分布,0~255代表着所有的机率的范围,那从0加到255的总和会为1!它所代表的公式如下 PDF机率分布 而累积分配函数就更简单了,它只是将机率密度函数做累积的计算,也就是说,当数值为255的时候它的机率会为1,而且曲线会是由下往上的成长,表达的方式就是将机率密度函数做累加,它的公式如下 CDF机率分布 再来是LUT的部份了,它只是开一个0~255的数组做对应,将累积分配函数的数值乘以255,将它存放在0~255的数组里,这样会出现许多重复的部份,因此,将Look-up table对应原来的图形的灰阶值,就可以将原本的统计直方图分布打散掉了,而且直方图等化的结果也会发现很多地方数值是空心的,也是因为如此,直方图的分布就会向外推挤了 累积分配直方图乘255存在LUT数组的情况 再来,就是直方图等化的程序了 灰阶直方图等化 #include #include #include int HistogramBins = 256; float HistogramRange1[2]={0,255}; float *HistogramRange[1]={&HistogramRange1[0]}; float CumulativeNumber; float CDFArray[256]; uchar LookupTableData[256]; void DrawHistogramImage(CvHistogram *Histogram,IplImage *HistogramImage,int HistogramBins); int main() {     IplImage *Image1;     IplImage *Image2;     CvHistogram *Histogram1;     CvHistogram *Histogram2;     CvMat *LookupTableMatrix;     IplImage *GrayHistogramImage;     IplImage *EqualizeHistogramImage;     Image1=cvLoadImage("DarkClouds.jpg",0);     Image2=cvCreateImage(cvGetSize(Image1),IPL_DEPTH_8U,1);     Histogram1 = cvCreateHist(1,&HistogramBins,CV_HIST_ARRAY,HistogramRange);     Histogram2 = cvCreateHist(1,&HistogramBins,CV_HIST_ARRAY,HistogramRange);     LookupTableMatrix = cvCreateMat(1,256,CV_8UC1);     GrayHistogramImage=cvCreateImage(cvSize(256,250),IPL_DEPTH_8U,3);     EqualizeHistogramImage=cvCreateImage(cvSize(256,250),IPL_DEPTH_8U,3);     GrayHistogramImage->origin=1;     EqualizeHistogramImage->origin=1;     cvCalcHist(&Image1,Histogram1);     DrawHistogramImage(Histogram1,GrayHistogramImage,HistogramBins);     //Probability Density Function (PDF)     cvNormalizeHist(Histogram1,1);     //End     //Cumulative Distribution Function (CDF)     CumulativeNumber=0;     for(int i=0;i
本文档为【OpenCV统计应用-直方图等化】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_996453
暂无简介~
格式:doc
大小:127KB
软件:Word
页数:7
分类:工学
上传时间:2011-10-14
浏览量:20