OpenCV CUDA模块图像处理------颜色空间处理之用于执行伽马校正(Gamma Correction)函数gammaCorrection()

  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

cv::cuda::gammaCorrection 是 OpenCV 的 CUDA 模块中用于执行伽马校正(Gamma Correction)的一个函数。伽马校正通常用于调整图像的亮度,使得图像在不同显示设备上能够正确显示。此函数可以在 GPU 上高效地执行该操作。

函数原型

cpp 复制代码
void cv::cuda::gammaCorrection 	
(
 	InputArray  	src,
	OutputArray  	dst,
	bool  	forward = true,
	Stream &  	stream = Stream::Null() 
) 	

参数

  • src:源图像(3通道或4通道,8位)。
  • dst:目标图像。
  • forward:布尔值,为 true 时表示进行前向伽马校正,为 false 时表示进行逆伽马校正。
  • stream:用于异步版本的 CUDA 流。

代码示例

cpp 复制代码
#include <opencv2/opencv.hpp>
#include <opencv2/cudaimgproc.hpp>

int main()
{
    // 加载输入图像
    cv::Mat src = cv::imread("/media/dingxin/data/study/OpenCV/sources/images/Lenna.png");
    if (src.empty())
    {
        std::cerr << "无法加载图像!" << std::endl;
        return -1;
    }

    // 将图像上传到 GPU
    cv::cuda::GpuMat d_src, d_dst;
    d_src.upload(src);

    // 创建CUDA流
    cv::cuda::Stream stream;

    // 执行伽马校正
    cv::cuda::gammaCorrection(d_src, d_dst, true, stream);

    // 下载结果回主机
    cv::Mat dst;
    d_dst.download(dst);

    // 显示结果
    cv::imshow("Source Image", src);
    cv::imshow("Gamma Corrected Image", dst);
    cv::waitKey(0);

    return 0;
}

运行结果

相关推荐
stars7 分钟前
数字人开发02--前端服务配置
前端·人工智能
好多渔鱼好多7 分钟前
【语音技术】意图与语料
人工智能·智能家居·智能互联·语音技术·影音开发·意图
无风听海17 分钟前
理解梯度在神经网络中的应用
人工智能·深度学习·神经网络·梯度
仪器科学与传感技术博士22 分钟前
python:前馈人工神经网络算法之实战篇,以示例带学,弄明白神经网络算法应用的思路、方法与注意事项等
人工智能·python·深度学习·神经网络·算法·机器学习
测试者家园31 分钟前
用 LLM 辅助性能测试报告生成
人工智能·llm·性能测试·ai赋能·智能化测试
爱分享的飘哥1 小时前
第三十七章:文生图的炼金术:Stable Diffusion完整工作流深度解析
人工智能·pytorch·stable diffusion·文生图·ai绘画·代码实战·cfg
宸津-代码粉碎机3 小时前
LLM 模型部署难题的技术突破:从轻量化到分布式推理的全栈解决方案
java·大数据·人工智能·分布式·python
乌恩大侠8 小时前
自动驾驶的未来:多模态传感器钻机
人工智能·机器学习·自动驾驶
光锥智能9 小时前
AI办公的效率革命,金山办公从未被颠覆
人工智能
GetcharZp9 小时前
爆肝整理!带你快速上手LangChain,轻松集成DeepSeek,打造自己的AI应用
人工智能·llm·deepseek