幂律变换也属于非线性变换,幂律变换也称伽马变换或指数变换,是另一种常用的灰度非线性变换,主要用于图像的校正,对漂白的图片或者过黑的图片进行修正,也就是对灰度过高或者灰度过低的图片进行修正,增强对比度。
幂律变换公式:
其中c和γ为正常数,当γ >1时,低灰度区间压缩,高灰度区间拉伸;当γ <1时,低灰度区间拉伸,高灰度区间压缩,当γ =1时,恒等变换。

#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
// Gamma变换函数实现
Mat gammaTransform(Mat& src, float kFactor)
{
// 建立查表文件LUT
unsigned char LUT[256];
for( int i = 0; i < 256; i++ )
{
// Gamma变换表达式
LUT[i] = saturate_cast<uchar>(pow((float)(i / 255.0 ), kFactor ) * 255.0f);
}
M
使用OpenCV进行幂律变换(伽马校正)以增强图像对比度,

文章介绍了幂律变换,一种用于图像校正的技术,特别是对于灰度过高或过低的图片。通过公式展示了如何进行伽马变换,并提供了一个使用OpenCV库进行伽马校正的C++代码示例,该示例展示了如何通过不同的伽马因子调整图像的对比度。
最低0.47元/天 解锁文章
4万+

被折叠的 条评论
为什么被折叠?



