设为首页 加入收藏

TOP

OpenCV 图像增强算法 图像检测结果
2015-02-02 14:23:01 来源: 作者: 【 】 浏览:10
Tags:OpenCV 图像 增强 算法 检测 结果

本代码通过直方图变换增强了图像对比度,实现了单通道图像增强。将图像灰度阈值拉伸到0-255,图像检测结果见底部


Keywords: 图像增强 增强对比度 直方图变换


int ImageStretchByHistogram(IplImage *src1,IplImage *dst1)
/*************************************************
Function:? ? ? 通过直方图变换进行图像增强,将图像灰度的域值拉伸到0-255
src1:? ? ? ? ? ? ? 单通道灰度图像? ? ? ? ? ? ? ? ?
dst1:? ? ? ? ? ? ? 同样大小的单通道灰度图像
*************************************************/
{
?assert(src1->width==dst1->width);
?double p[256],p1[256],num[256];
?
?memset(p,0,sizeof(p));
?memset(p1,0,sizeof(p1));
?memset(num,0,sizeof(num));
?int height=src1->height;
?int width=src1->width;
?long wMulh = height * width;
?
?//statistics
?for(int x=0;xwidth;x++)
?{
? for(int y=0;y height;y++){
? ?uchar v=((uchar*)(src1->imageData + src1->widthStep*y))[x];
? ? num[v]++;
? }
?}
?//calculate probability
?for(int i=0;i<256;i++)
?{
? p[i]=num[i]/wMulh;
?}


?//p1[i]=sum(p[j]);?j<=i;
?for(int i=0;i<256;i++)
?{
? for(int k=0;k<=i;k++)
? ?p1[i]+=p[k];
?}


?// histogram transformation
?for(int x=0;xwidth;x++)
?{
? for(int y=0;y height;y++){
? ?uchar v=((uchar*)(src1->imageData + src1->widthStep*y))[x];
? ? ((uchar*)(dst1->imageData + dst1->widthStep*y))[x]= p1[v]*255+0.5;? ? ? ? ? ?
? }
?}
?return 0;
}


void CCVMFCView::OnImageAdjustContrast()
{
?if(workImg->nChannels>1)
? OnColorToGray();
?Invalidate();
?dst=cvCreateImage(cvGetSize(workImg),workImg->depth,workImg->nChannels);
?ImageStretchByHistogram(workImg,dst);
?m_dibFlag=imageReplace(dst,&workImg);
?Invalidate();
}


Experiment Result:


?


原图灰度化


? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? 原图灰度化


检测结果1


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?检测结果1


灰度化并增强对比度


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 灰度化并增强对比度


检测结果2


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?检测结果2


--------------------------------------分割线 --------------------------------------


--------------------------------------分割线 --------------------------------------


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Ruby中求50之内的素数方法 下一篇OpenCV 金字塔图像分割

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: