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;
}

运行结果

相关推荐
极智视界2 分钟前
目标检测数据集 - 自动驾驶场景驾驶员注意力不集中检测数据集下载
人工智能·目标检测·自动驾驶
亚马逊云开发者5 分钟前
Serverless is all you need: 在亚马逊云科技上一键部署大模型API聚合管理平台OneHub
人工智能
人工智能训练10 分钟前
Docker中Dify镜像由Windows系统迁移到Linux系统的方法
linux·运维·服务器·人工智能·windows·docker·dify
夏洛克信徒10 分钟前
AI盛宴再启:Gemini 3与Nano Banana Pro掀起的产业革命
人工智能·神经网络·自然语言处理
背心2块钱包邮10 分钟前
第24节——手搓一个“ChatGPT”
人工智能·python·深度学习·自然语言处理·transformer
致Great16 分钟前
Chatgpt三周年了:大模型三年发展的里程碑
人工智能·chatgpt·agent
gaetoneai18 分钟前
当OpenAI内部命名乱成“GPT-5.1a-beta-v3-rev2”,Gateone.ai 已为你筑起一道“多模态智能的稳定防线”。
人工智能·语音识别
23遇见19 分钟前
ChatGPT 之后,AI 的下一步突破是什么
人工智能·chatgpt
乐迪信息19 分钟前
乐迪信息:皮带区域安全值守:AI摄像机杜绝煤矿人员闯入
大数据·运维·人工智能·安全·计算机视觉
西西o20 分钟前
SpringAi GA1.0.0入门到源码完整系列课
人工智能·语言模型