******************************************************************************************************************************************
红:数字图像处理视频教程(两部)
{中科院版36讲视频教程 + 电子科大版70讲视频教程(冈萨雷斯 第二版)}
橙:halcon软件、halcon软件手把手教破解视频教程
黄:数字图像模式识别demo(C++编写,在公司也是用C++哦)
绿:halcon软件视频教程、halcon软件在vs2010中配置
青:面向对象C++视频教程
蓝:MFC C++视频教程
紫:海量相关文档资料
http://item.taobao.com/item.htm?spm=a1z10.3.w4002-9510581636.11.VUYzOY&id=43025290175
******************************************************************************************************************************************
本code通过直方图变换增强了图像对比度,实现了单通道图像增强。将图像灰度阈值拉伸到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
灰度化并增强对比度
检测结果2