OpenCV-学习历程23- 直方图1- Histogram(什么是直方图?直方图均衡化equalHist-提高对比度,显示更多细节)

OPENCV系列博客主要记录自己学习OPENCV的历程,以及存储已经实现的代码,以备后续回顾使用,代码中包含了主要的备注。

 一.什么是直方图(不同数据出现的频次): 

OpenCV-学习历程23- 直方图1- Histogram(什么是直方图?直方图均衡化equalHist-提高对比度,显示更多细节)_第1张图片

OpenCV-学习历程23- 直方图1- Histogram(什么是直方图?直方图均衡化equalHist-提高对比度,显示更多细节)_第2张图片

OpenCV-学习历程23- 直方图1- Histogram(什么是直方图?直方图均衡化equalHist-提高对比度,显示更多细节)_第3张图片

 

.直方图均衡化(提高对比度,提高细节):

OpenCV-学习历程23- 直方图1- Histogram(什么是直方图?直方图均衡化equalHist-提高对比度,显示更多细节)_第4张图片

 OpenCV-学习历程23- 直方图1- Histogram(什么是直方图?直方图均衡化equalHist-提高对比度,显示更多细节)_第5张图片

OpenCV-学习历程23- 直方图1- Histogram(什么是直方图?直方图均衡化equalHist-提高对比度,显示更多细节)_第6张图片

.代码实现:

 

#include 
#include 


using namespace std;
using namespace cv;


//测试使用OpenCV自带的HoughLineP提取图像边缘

Mat src, gray_src, average_histogram;
void update_remap(void);
int index;
Mat map_x, map_y;


int main(int argc, char** argv) {

	//Step1 读取图片
	src = imread("E:/OpenCVLearning/Project/source_image/sample.jpg"); //注意斜线方向
	if (!src.data) {
		cout << "Could not load the image ...." << endl;
		return -1;
	}
	char input_image[] = "input image";
	namedWindow("input_image", CV_WINDOW_AUTOSIZE);
	imshow(input_image, src);

	//Step2 建立灰度图片,并均衡化
	cvtColor(src,gray_src,CV_RGB2GRAY);
	imshow("gray",gray_src);

	equalizeHist(gray_src, average_histogram);
	imshow("gray_average", average_histogram);

	waitKey(0);
	return 0;
}



.效果:

OpenCV-学习历程23- 直方图1- Histogram(什么是直方图?直方图均衡化equalHist-提高对比度,显示更多细节)_第7张图片

你可能感兴趣的:(OPENCV学习记录,Opencv)