opencv学习笔记(二十四)直方图均衡化

1.直方图概念

图像直方图,是指对整个图像像在灰度范围内的像素值(0~255)统计出现频率次数,据此生成的直方图,称为图像直方图-直方图。直方图反映了图像灰度的分布情况。是图像的统计学特征。

均衡化:是一种提高图像对比度的方法,拉伸图像灰度值范围。

2.API介绍

equalizeHist(InputArray src,OutputArray dst)

src:输入图像,必须是8-bit的单通道图像

dst:输出结果

3.代码实现

#include "stdafx.h"
#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace std;
using namespace cv;

//直方图均衡化用于提升对比,拉伸图像灰度值范围
char inputName[] = "input name";
char outputName[] = "output name";
int main()
{
	Mat src, dst,srcGray;
	src = imread("D:/demo.jpg");
	if (src.empty())
	{
		cout << "找不到图像" << endl;
		return -1;
	}
	namedWindow(inputName, CV_WINDOW_AUTOSIZE);	
	namedWindow(outputName, CV_WINDOW_AUTOSIZE);
	cvtColor(src, src, COLOR_BGR2GRAY);
	equalizeHist(src, dst);
	imshow(inputName, src);
	imshow(outputName, dst);
	waitKey(0);
	return 0;
}

4.运行结果

发布了53 篇原创文章 · 获赞 9 · 访问量 3277

猜你喜欢

转载自blog.csdn.net/weixin_41039168/article/details/96568198
今日推荐