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;
}
相关推荐
Li emily5 小时前
解决了加密货币api多币种订阅时的数据乱序问题
人工智能·python·api·fastapi
山川绿水6 小时前
bugku——PWN——overflow2
人工智能·web安全·网络安全
程序员cxuan6 小时前
微信读书官方发了 skills,把我给秀麻了。
人工智能·后端·程序员
fake_ss1986 小时前
AI时代学习全栈项目开发的新范式
java·人工智能·学习·架构·个人开发·学习方法
nassi_6 小时前
对AI工程问题的一些思考
大数据·人工智能·hadoop
AI技术控6 小时前
《Transformers are Inherently Succinct》论文解读:从“能表达什么”到“多紧凑地表达”
人工智能·python·深度学习·机器学习·自然语言处理
蔡俊锋6 小时前
AI记忆压缩术:从305GB到7.4GB的魔法
人工智能·ai·ai 记忆
Upsy-Daisy7 小时前
AI Agent 项目学习笔记(二):Spring AI 与 ChatClient 主链路解析
人工智能·笔记·学习
zhangxingchao7 小时前
AI应用开发六:企业知识库
前端·人工智能·后端
Terrence Shen7 小时前
关于传统软件工程后端技术和当代AI智能体agent构建的harness engineering的一点思考
人工智能·软件工程