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

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

算法描述

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

函数原型

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 流。

代码示例

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

运行结果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2387685.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

商品条形码查询接口如何用C#进行调用?

一、什么是商品条码查询接口&#xff1f; 1974年6月26日&#xff0c;美国俄亥俄州的一家超市首次使用商品条码完成结算&#xff0c;标志着商品条码正式进入商业应用领域。这项技术通过自动识别和数据采集&#xff0c;极大提升了零售行业的作业效率&#xff0c;减少了人工录入错…

多模态大语言模型arxiv论文略读(九十一)

FineCLIPER: Multi-modal Fine-grained CLIP for Dynamic Facial Expression Recognition with AdaptERs ➡️ 论文标题&#xff1a;FineCLIPER: Multi-modal Fine-grained CLIP for Dynamic Facial Expression Recognition with AdaptERs ➡️ 论文作者&#xff1a;Haodong C…

攻防世界 - MISCall

下载得到一个没有后缀的文件&#xff0c;把文件放到kali里面用file命令查看 发现是bzip2文件 解压 变成了.out文件 查看发现了一个压缩包 将其解压 发现存在.git目录和一个flag.txt&#xff0c;flag.txt是假的 恢复git隐藏文件 查看发现是将flag.txt中内容读取出来然后进行s…

在PyTorch中,对于一个张量,如何快速为多个元素赋值相同的值

我们以“a torch.arange(12).reshape((3, -1))”为例&#xff0c;a里面现在是&#xff1a; 如果我们想让a的右下角的2行3列的元素都为10的话&#xff0c;可以如何快速实现呢&#xff1f; 我们可以用到索引和切片技术&#xff0c;执行如下的指令即可达到目标&#xff1a; a[1…

苍穹外卖--Redis

1.Redis入门 1.1Redis简介 Redis是一个基于内存的key-value结果数据库 基于内存存储&#xff0c;读写性能高 适合存储热点数据(热点商品、资讯、新闻) 企业应用广泛 Redis的Windows版属于绿色软件&#xff0c;直接解压即可使用&#xff0c;解压后目录结构如下&#xff1a…

深度学习————注意力机制模块

关于注意力机制我自己的一点理解&#xff1a;建立各个维度数据之间的关系&#xff0c;就是对已经处理为特征图的数据&#xff0c;将其他影响因素去除&#xff08;比如通道注意力&#xff0c;就将空间部分的影响因素消除或者减到极小&#xff09;再对特征图进行以此特征提取 以此…

python:基础爬虫、搭建简易网站

一、基础爬虫代码&#xff1a; # 导包 import requests # 从指定网址爬取数据 response requests.get("http://192.168.34.57:8080") print(response) # 获取数据 print(response.text)二、使用FastAPI快速搭建网站&#xff1a; # TODO FastAPI 是一个现代化、快速…

好坏质检分类实战(异常数据检测、降维、KNN模型分类、混淆矩阵进行模型评估)

任务 好坏质检分类实战 task: 1、基于 data_class_raw.csv 数据&#xff0c;根据高斯分布概率密度函数&#xff0c;寻找异常点并剔除 2、基于 data_class_processed.csv 数据&#xff0c;进行 PCA 处理&#xff0c;确定重要数据维度及成分 3、完成数据分离&#xff0c;数据分离…

YOLOv4:目标检测的新标杆

引言 YOLO(You Only Look Once)系列作为目标检测领域的经典算法&#xff0c;以其高效的检测速度和良好的准确率闻名。2020年推出的YOLOv4在保持YOLO系列高速检测特点的同时&#xff0c;通过引入多项创新技术&#xff0c;将检测性能提升到了新高度。本文将详细介绍YOLOv4的核心…

LabVIEW通用测控平台设计

基于 LabVIEW 图形化编程环境&#xff0c;设计了一套适用于工业自动化、科研测试领域的通用测控平台。通过整合研华、NI等品牌硬件&#xff0c;实现多类型数据采集、实时控制及可视化管理。平台采用模块化架构&#xff0c;支持硬件灵活扩展&#xff0c;解决了传统测控系统开发周…

【机器学习基础】机器学习入门核心算法:K-近邻算法(K-Nearest Neighbors, KNN)

机器学习入门核心算法&#xff1a;K-近邻算法&#xff08;K-Nearest Neighbors, KNN&#xff09; 一、算法逻辑1.1 基本概念1.2 关键要素距离度量K值选择 二、算法原理与数学推导2.1 分类任务2.2 回归任务2.3 时间复杂度分析 三、模型评估3.1 评估指标3.2 交叉验证调参 四、应用…

FastMoss 国际电商Tiktok数据分析 JS 逆向 | MD5加密

1.目标 目标网址&#xff1a;https://www.fastmoss.com/zh/e-commerce/saleslist 切换周榜出现目标请求 只有请求头fm-sign签名加密 2.逆向分析 直接搜fm-sign 可以看到 i["fm-sign"] A 进入encryptParams方法 里面有个S()方法加密&#xff0c;是MD5加密 3.代…

【Linux】基础开发工具(下)

文章目录 一、自动化构建工具1. 什么是 make 和 Makefile&#xff1f;2. 如何自动化构建可执行程序&#xff1f;3. Makefile 的核心思想4. 如何清理可执行文件&#xff1f;5. make 的工作原理5.1 make 的执行顺序5.2 为什么 make 要检查文件是否更新&#xff1f;5.2.1 避免重复…

chrome打不开axure设计的软件产品原型问题解决办法

1、打开原型文件夹&#xff0c;进入到其中的如下目录中&#xff1a;resources->chrome->axure-chrome-extension.crx&#xff0c;找到 Axure RP Extension for Chrome插件。 2、axure-chrome-extension.crx文件修改扩展名.rar&#xff0c;并解压到文件夹 axure-chrome-ex…

【数据结构】树形结构--二叉树

【数据结构】树形结构--二叉树 一.知识补充1.什么是树2.树的常见概念 二.二叉树&#xff08;Binary Tree&#xff09;1.二叉树的定义2.二叉树的分类3.二叉树的性质 三.二叉树的实现1.二叉树的存储2.二叉树的遍历①.先序遍历②.中序遍历③.后序遍历④.层序遍历 一.知识补充 1.什…

Baklib构建企业CMS高效协作与安全管控体系

企业CMS高效协作体系构建 基于智能工作流引擎的设计逻辑&#xff0c;现代企业内容管理系统通过预设多节点审核路径与自动化任务分配机制&#xff0c;有效串联市场、技术、法务等跨部门协作链路。系统支持多人同时编辑与版本追溯功能&#xff0c;结合细粒度权限管控模块&#x…

深入理解 JDK、JRE 和 JVM 的区别

在 Java 中&#xff0c;JDK、JRE 和 JVM 是非常重要的概念&#xff0c;它们各自扮演着不同的角色&#xff0c;却又紧密相连。今天&#xff0c;就让我们来详细探讨一下它们之间的区别。 一、JVM JVM 即 Java 虚拟机&#xff0c;它是整个 Java 技术体系的核心。JVM 提供了 Java…

LSTM 与 TimesNet的时序分析对比解析

前言 Hi&#xff0c;我是GISerLiu&#x1f642;, 这篇文章是参加2025年5月Datawhale学习赛的打卡文章&#xff01;&#x1f4a1; 本文将深入探讨在自定义时序数据集上进行下游分类任务的两种主流分析方法。一种是传统的“先插补后分析”策略&#xff0c;另一种是采用先进的端到…

图论学习笔记 4 - 仙人掌图

先扔张图&#xff1a; 为了提前了解我们采用的方法&#xff0c;请先阅读《图论学习笔记 3》。 仙人掌图的定义&#xff1a;一个连通图&#xff0c;且每条边只出现在至多一个环中。 这个图就是仙人掌图。 这个图也是仙人掌图。 而这个图就不是仙人掌图了。 很容易发现&#xf…

华为高斯数据库(GaussDB)深度解析:国产分布式数据库的旗舰之作

高斯数据库介绍 一、高斯数据库概述 GaussDB是华为自主研发的新一代分布式关系型数据库&#xff0c;专为企业核心系统设计。它支持HTAP&#xff08;混合事务与分析处理&#xff09;&#xff0c;兼具强大的事务处理与数据分析能力&#xff0c;是国产数据库替代的重要选择。 产…