OpenCV 第六章 cvEqualize

来源:互联网 发布:淘宝导航栏尺寸 编辑:程序博客网 时间:2024/06/06 04:48

chap 6 cvEqualize( color_img )

#include<opencv2/opencv.hpp>// chap 6 均衡化void main(){// src 找 暗一点或亮一点的图片做输入图片IplImage* src=cvLoadImage("D:\\lxlx\\2.bmp");cvNamedWindow("src");cvShowImage("src",src);// 显示原图IplImage* img1=cvCreateImage(cvGetSize(src),8,1);IplImage* img2=cvCreateImage(cvGetSize(src),8,1);IplImage* img3=cvCreateImage(cvGetSize(src),8,1);IplImage* dst=cvCreateImage(cvGetSize(src),8,3);cvSplit(src,img1,img2,img3,0);// 拆分3通道,分别均衡化cvEqualizeHist(img1,img1);cvEqualizeHist(img2,img2);cvEqualizeHist(img3,img3);cvMerge(img1,img2,img3,0,dst);// 合并3通道cvNamedWindow("EqualizeHist");cvShowImage("EqualizeHist",dst);cvWaitKey(0);}

彩色图片进行直方图均衡化,思路:将输入图像分通道进行均衡化,结果合并后作为彩色图片均衡化处理的输出。

当输入图片较暗或较亮是,均衡化后,对比度变强。

如果原始图片光照等比较均衡,运行结果不明显。