图像算法(伽马变换)

伽马变换(Gamma Correction)是一种常用于图像处理的非线性变换方法,用于调整图像的亮度。伽马变换的主要目的是对图像的像素值进行幂函数变换,以改变图像的对比度和亮度。

伽马变换的数学表达式为:

I(out)(x,y)=Iin(x,y)γ

其中:

  • I(out)(x,y) 是变换后的图像像素值。
  • Iin(x,y)γ 是原始图像像素值。
  • γ 是伽马值,通常取正实数。γ>1 时,图像的亮度会降低;当 0<γ<1 时,图像的亮度会增加。

在OpenCV中,可以使用以下方式进行伽马变换:

#include <opencv2/opencv.hpp>

int main() {
    // 读取图像
    cv::Mat image = cv::imread("image.jpg");

    // 设置伽马值
    double gamma = 1.5;

    // 进行伽马变换
    cv::Mat gamma_corrected;
    cv::pow(image, gamma, gamma_corrected);

    // 显示原始图像和伽马变换后的图像
    cv::imshow("Original Image", image);
    cv::imshow("Gamma Corrected Image", gamma_corrected);
    cv::waitKey(0);

    return 0;
}

在上述代码中,cv::pow() 函数用于对图像进行伽马变换,其中 image 是原始图像,gamma 是伽马值。变换后的图像 gamma_corrected 将具有调整过的亮度。你可以尝试不同的伽马值以观察其对图像的影响。伽马变换常用于校正显示器的亮度响应,或者在图像处理中调整图像的对比度。



posted @   做梦当财神  阅读(278)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2019-01-03 Q-Q图
点击右上角即可分享
微信分享提示