Opencv学习笔记——图像均衡化

类似于Matlab中的图像均衡化函数,Opencv也有类似的函数,但却是不是很好用,具体代码如下:

#include "stdio.h"
#include "cv.h"
#include "highgui.h"
int main(int argc, char* argv[])
{
	IplImage *img=cvLoadImage("1.jpg");
	IplImage* img1 = cvCreateImage(cvGetSize(img), IPL_DEPTH_8U, 1);//创建目标图像  
    cvCvtColor(img,img1,CV_BGR2GRAY);
	/*图像模式的转化,存在多种不同的模式,通过改变CV_BGR2GRAY来选择你想要的变换,也要注意通道数的变化*/
	IplImage *dst=cvCloneImage(img1);
	cvZero(dst);
	dst->origin=img1->origin;
	cvEqualizeHist(img1,dst);
	/*直方图均衡化,只能是单通道的矩阵*/
	cvNamedWindow("ImageShow1",1);
	cvShowImage("ImageShow1",img1);
	cvNamedWindow("ImageShow",1);
	cvShowImage("ImageShow",dst);
	cvWaitKey(0);
	printf("Hello World!\n");
	return 0;
}

具体结果如下:

Opencv学习笔记——图像均衡化_第1张图片

你可能感兴趣的:(Opencv学习笔记,opencv,直方图均衡化)