Advertisement

Opencv 图像增强算法 图像检测结果

阅读量:

该代码通过直方图变换实现了单通道图像的对比度增强,并将灰度值拉伸到0-255范围。实验结果显示原图灰度化后通过直方图变换增强了对比度,并通过检测结果1和检测结果2展示了对比度增强后的清晰图像效果。

该算法经过直方图调整以提升图像对比度,并成功实现了单通道图像增强。为实现这一目标,在灰度值范围内将其扩展至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;x<src1->width;x++)
    
 	{
    
 		for(int y=0;y<src1-> 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;x<src1->width;x++)
    
 	{
    
 		for(int y=0;y<src1-> 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

全部评论 (0)

还没有任何评论哟~