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

运行结果

相关推荐
海森大数据12 分钟前
AI突破“化学空间困境”:一场药物设计的范式革命
人工智能·语言模型
lgbisha13 分钟前
Dify异步接口调用优化实践:解决长时任务处理与网络超时问题
人工智能·python·ai·语言模型
nkwshuyi18 分钟前
ChatGPT Atlas Agent 如何帮你采集数据和调研?
人工智能·chatgpt
buttonupAI22 分钟前
今日Reddit AI高价值讨论分析 - 10.27
人工智能·chatgpt
rengang6625 分钟前
020-Spring AI Alibaba DashScope Image 功能完整案例
java·人工智能·spring·spring ai·ai应用编程
rengang6628 分钟前
AI驱动的DevOps:AI大模型自动化部署、监控和运维流程
运维·人工智能·ai编程·devops·ai智能体编程
碧海银沙音频科技研究院39 分钟前
ES7243E ADC模拟音频转i2S到 BES I2S1 Master输出播放到SPK精准分析
人工智能·算法·音视频
音视频牛哥41 分钟前
从“十五五”规划看中国视频基础设施的下一个五年:SmartMediaKit 的战略跃迁与时代机遇
人工智能·音视频·大牛直播sdk·十五五规划具身智能·十五五规划音视频·低空经济低延迟音视频方案·具身智能rtsp rtmp
ICscholar43 分钟前
生物突触功能总结
人工智能
深度学习lover1 小时前
<项目代码>yolo螺丝螺母识别<目标检测>
人工智能·python·深度学习·yolo·目标检测·计算机视觉·螺丝螺母识别