Opencv C++ 六、灰度变换:线性变换、灰度反转、对数变换、伽马变换、(自适应)直方图均衡化

您所在的位置:网站首页 图像均衡化的基本流程包括 Opencv C++ 六、灰度变换:线性变换、灰度反转、对数变换、伽马变换、(自适应)直方图均衡化

Opencv C++ 六、灰度变换:线性变换、灰度反转、对数变换、伽马变换、(自适应)直方图均衡化

2024-05-31 09:25| 来源: 网络整理| 查看: 265

一、灰度变换的原理:

通过变换函数T将原图像像素灰度值r映射为灰度值s: s=T(r).

二、灰度变换的方法:

线性变换(亮度和对比度调整):

原理:线性变换是一种简单的亮度和对比度调整方法,通过对每个像素的灰度级别应用线性变换公式来实现。对每个像素应用公式 output_pixel = input_pixel * alpha + beta,其中 alpha 控制对比度,beta 控制亮度。增大 alpha 值可以增加对比度,增大 beta 值可以增加亮度。

对数变换:

原理:对数变换通过应用对数函数对图像的每个像素值进行修改。这种变换适用于增强图像的低灰度级别,因为它拉伸了低灰度级别之间的差异。公式为 output_pixel = c * log(1 + input_pixel),其中 c 是缩放常数。

伽马校正:

原理:伽马校正通过应用幂函数对图像的每个像素值进行修改。伽马校正可以用于调整图像的对比度和亮度。公式为 output_pixel = c * (input_pixel ^ gamma),其中 c 是缩放常数,gamma 是伽马值。增大 gamma 值可以增加对比度。

直方图均衡化:

原理:直方图均衡化旨在拉伸图像的灰度级别分布,使其更均匀。这通过重新分配像素值以增加亮度级别的数量来实现。这有助于增强图像的对比度,并突出图像中的细节。该方法的原理是重新映射图像的累积分布函数,使其变为均匀分布。

自适应直方图均衡化:

原理:自适应直方图均衡化将图像划分为小块,然后对每个块进行直方图均衡化。这使得图像在不同区域的灰度级别分布更加均匀,尤其是当图像具有明显的亮度变化时。 三、线性变换 #include #include using namespace cv; using namespace std; int main() { // 加载图像 Mat image = imread("D://lena.png"); if (image.empty()) { cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3