opencv3--学习笔记(彩色图片直方图均衡化的彩色输出图)

#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include
#include

using namespace std;
using namespace cv;


//--------------------------------------【main( )函数】-----------------------------------------
//          描述:控制台应用程序的入口函数,我们的程序从这里开始执行
//-----------------------------------------------------------------------------------------------
int main()
{
	// 【1】加载源图像
	Mat srcImage, dstImage;
	srcImage = imread("1.jpg", 1);
	//tempImage = srcImage;
	if (!srcImage.data) 
	{ 
		printf("读取图片错误,请确定目录下是否有imread函数指定图片存在~! \n");
		return false; 
	}

	imshow("原始图", srcImage);

	//定义一个channels储存分离后的通道
	vector channels;
	//R G B三个通道
	Mat imageBlueChannel, imageGreenChannel, imageRedChannel;

	//分离图像
	split(srcImage, channels);


	imageBlueChannel = channels.at(0);
	imageGreenChannel = channels.at(1);
	imageRedChannel = channels.at(2);

	//分别对每一个通道就行直方图均衡化
	equalizeHist(imageBlueChannel, imageBlueChannel);
	equalizeHist(imageGreenChannel, imageGreenChannel);
	equalizeHist(imageRedChannel, imageRedChannel);

	//将直方图均衡化的通道合并起来
	merge(channels, dstImage);

	imshow("经过直方图均衡化后的图", dstImage);


	waitKey(0);
	return 0;

}

输出图片:

你可能感兴趣的:(opencv3--学习笔记(彩色图片直方图均衡化的彩色输出图))