21 OpenCV 直方图均衡化

文章目录

直方图概念

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

均衡的目的

直方图均衡的目的是增强图像的对比度,使得图像中的各个区域的亮度分布更加均匀,从而提高图像的视觉质量。通过对图像的灰度直方图进行调整,将原始图像中灰度值分布不均匀的部分拉伸开来,使得整个灰度范围内的像素值都能得到充分利用,达到增强图像细节、改善图像质量的效果。直方图均衡也常用于图像增强、图像压缩、图像分割等领域。

equalizeHist 均衡化算子

c 复制代码
equalizeHist(
InputArray src,//输入图像,必须是8-bit的单通道图像
OutputArray dst// 输出结果
)

示例

c 复制代码
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;

Mat src, src_gray, dst;

const char* output_title = "final image";
int main()
{
	src = imread("test.jpg");//读取图片
	if (src.empty())
	{
		cout << "could not load img...";
		return -1;
	}
	imshow("test", src);
	cvtColor(src, dst, COLOR_BGR2GRAY);
	equalizeHist(dst, dst);
	namedWindow(output_title);//设置窗口名称
	imshow(output_title, dst);
	waitKey(0);
	return 0;
}
相关推荐
才不做选择10 分钟前
基于 YOLOv8 的部落冲突 (Clash of Clans) 目标检测系统
人工智能·python·yolo·目标检测
AI探索先锋11 分钟前
高效!YOLO+SAM 目标检测与图像分割融合实战
人工智能·计算机视觉·目标跟踪
byzh_rc17 分钟前
[机器学习-从入门到入土] 基础知识
人工智能·机器学习
无限大.17 分钟前
为什么游戏需要“加载时间“?——从硬盘读取到内存渲染
网络·人工智能·游戏
vibag20 分钟前
使用底层API构建图
人工智能·语言模型·langchain·大模型·langgraph
权泽谦25 分钟前
医疗预测项目:CNN + XGBoost 实战全流程
人工智能·神经网络·cnn
汗流浃背了吧,老弟!27 分钟前
Transformer-初识
人工智能·深度学习·transformer
Lkygo27 分钟前
Embedding 和 Reranker 模型
人工智能·embedding·vllm·sglang
竹君子29 分钟前
英伟达的AI芯片架构演进的三个阶段
人工智能
Chris_121930 分钟前
Halcon学习笔记-Day5
人工智能·笔记·python·学习·机器学习·halcon