1. 直方图均衡化
直方图均衡化是通过调整图像的灰阶分布,使得在0~255灰阶上的分布更加均衡,提高了图像的对比度,达到改善图像主观视觉效果的目的。对比度较低的图像适合使用直方图均衡化方法来增强图像细节。
均衡化处理后的图像只能是近似均匀分布,均衡化图像的动态范围扩大了。但是本是扩大了量化间隔,量化级别减少。原来灰度不同的像素经过处理后可能变的相同,形成了一片相同的灰度区域;
OpenCV函数:
void equalizaeHist(InputArray src,OutputArray dst)
步骤:
- 计算输入图像直方图HH
- 进行直方图归一化,直方图的组距的和为255
- 计算直方图积分H′(i)=∑0≤j≤iH(j)H′(i)=∑0≤j≤iH(j)
- 以H′H′作为查询表进行图像变换dst(x,y)=H′(src(x,y))
2. 示例
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
Mat srcImage, dstImage;
//输入原始图像
srcImage = imread(\"..\\\\1.bmp\");
cvtColor(srcImage, srcImage, COLOR_BGR2GRAY);
//进行直方图均衡化
equalizeHist(srcImage, dstImage);
return 0;
}
继续阅读与本文标签相同的文章
-
Kubernetes中将Delete类型的PV更新为Retain类型
2026-05-18栏目: 教程
-
阿里云服务器计算型实例c5 适合中大型网站及外贸主题网站使用
2026-05-18栏目: 教程
-
Java工程师入门区块链的7个开源项目
2026-05-18栏目: 教程
-
这一团糟的代码,真的是我写的?!
2026-05-18栏目: 教程
-
Cassandra全球使用的公司及场景
2026-05-18栏目: 教程
