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;
}
相关推荐
GuWenyue1 天前
写Agent还要重复封装工具?一套MCP多服务方案,3个能力让AI自动查地图、读写文件、操控浏览器
人工智能·机器学习·开源
GuWenyue1 天前
90%AI新手不会调参!LangChain双模型流水线实战,一套代码兼顾严谨+创意
人工智能
光锥智能1 天前
WAIC亮点|兼具泛化能力与作业效率的极智嘉机器人天团
人工智能·机器人
阳光是sunny1 天前
LangGraph中的Reducer是什么
前端·人工智能·后端
甲维斯1 天前
Kimi K3 重构10000行单文件屎山代码!
人工智能
阳光是sunny1 天前
从链到图:LangGraph 入门基础全解析
前端·人工智能·后端
新知图书1 天前
11.3 详细实现与核心配置(作业批改智能体开发)
人工智能·agent·ai agent·智能体·扣子
深度研习笔记1 天前
OpenCV工业视觉实战11|多线程解耦+视频流稳流+推理加速,彻底解决卡顿阻塞,实现毫秒级工业实时检测
人工智能·opencv·计算机视觉
delishcomcn1 天前
AI视觉识别+分切算法:电化铝缺陷检测与裁切一体化解锁
人工智能·算法
触底反弹1 天前
深入理解大模型采样:Temperature、Top-K、Top-P 的原理与实战
人工智能·算法·面试