基于C++&OpenCV的直方图均衡化【数字图像处理】

本文介绍了直方图均衡化的概念,旨在增强图像对比度,使图像前景与背景区别更明显。该技术同样适用于彩色图像的各通道处理。文中展示了处理前后图像的对比,并给出了C++实现直方图均衡化的代码。

实现直方图的均衡化算法。

直方图均衡化的中心思想 -- 将原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内,以达到增强对比度的效果。使得前景和背景区别更加明显。 

除了灰度图以外,彩色图像(三通道、四通道等)处理方法思想是一样的,即各通道像素颜色的均衡化

最终效果如下:


其中左侧是原图,右侧是经过均衡化处理的图片。

实现代码如下:

#include<cxcore.h>
#include<cmath>
#include<math.h>
#include<cv.h>
#include<highgui.h>
#include<opencv2\opencv.hpp>

using namespace std;
using namespace cv;

void Hist_Eql(Mat image)
{
	//计算像素分布
	int NumPixel[4][256] = { 0 };
	for (int y = 0; y < image.rows; ++y)
		for (int x = 0; x < image.cols; ++x)
			for (int c = 0; c < image.channels();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值