当前位置: 首页 > news >正文

OpenCV CUDA模块图像处理------颜色空间处理之颜色空间转换函数cvtColor()

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

算法描述

该函数用于在 GPU 上进行颜色空间转换,支持多种常见的颜色空间转换操作。

函数原型

void cv::cuda::cvtColor 	
(InputArray  	src,OutputArray  	dst,int  	code,int  	dcn = 0,Stream &  	stream = Stream::Null() 
) 		

参数

参数

  • src 源图像,支持以下属性:
    • 深度(depth)为 CV_8U、CV_16U 或 CV_32F;
    • 通道数为 1、3 或 4。
  • dst 目标图像。
  • code 颜色空间转换代码。详细信息请参见 cvtColor 函数。
  • dcn 目标图像的通道数量。如果该参数为 0,则通道数会根据源图像和转换代码自动推断。
  • stream 用于异步执行的 CUDA 流对象。

一些 3 通道的颜色空间(如 HSV、XYZ 等)可以存储在 4 通道图像中以获得更好的性能。

代码示例

#include <opencv2/cudaimgproc.hpp>  // 必须包含此头文件
#include <opencv2/opencv.hpp>int main()
{// 从 CPU 加载图像cv::Mat bgr_cpu = cv::imread( "/media/dingxin/data/study/OpenCV/sources/images/Lenna.png" );if ( bgr_cpu.empty() ){std::cerr << "无法加载图像!" << std::endl;return -1;}// 上传到 GPUcv::cuda::GpuMat bgr_gpu, gray_gpu;bgr_gpu.upload( bgr_cpu );// 使用 GPU 进行颜色空间转换(BGR -> Gray)cv::cuda::cvtColor( bgr_gpu, gray_gpu, cv::COLOR_BGR2GRAY );// 下载结果回 CPU 并显示cv::Mat gray_cpu;gray_gpu.download( gray_cpu );cv::imshow( "Gray Image", gray_cpu );cv::waitKey( 0 );return 0;
}

运行结果

在这里插入图片描述

相关文章:

  • 高效多线程图像处理实战
  • 知识图谱:AI时代语义认知的底层重构逻辑
  • ASP.NET Web Forms框架识别
  • WPF【11_4】WPF实战-重构与美化(MVVM 架构)
  • ArcGIS Pro 3.4 二次开发 - 知识图谱
  • 飞牛fnNAS手机相册备份及AI搜图
  • 私服 nexus 之间迁移 npm 仓库
  • 融智学“新五常”框架:五维方式的重构与协同
  • 银河麒麟V10×R²AIN SUITE:用AI重构安全,以国产化生态定义智能未来
  • libvirt设置虚拟机mtu实现原理
  • 强大的免费工具,集合了30+功能
  • Ansible 配置Playbook文件格式、关键字和语法详解
  • WPF【11_8】WPF实战-重构与美化(UI 与视图模型的联动,实现INotifyPropertyChanged)
  • Leetcode-5 好数对的数目
  • AI Agents执行流程和决策流程学习
  • 多相电机驱动控制学习(1)——基于双dq坐标系的六相PMSM驱动控制
  • 基于物联网(IoT)的电动汽车(EVs)智能诊断
  • Unsupervised Learning-Word Embedding
  • Java-Set集合遍历的全面指南
  • Flink Table API 编程入门实践
  • 微信网站建设塞尼铁克/网站制作的基本流程
  • 用织梦做网站/seo如何优化网站步骤
  • 做外国语上门按摩服务网站/自助快速建站
  • b2b建设网站/网站运营和维护
  • 正规打字赚钱网站/域名申请哪家好
  • 做seo网站标题重要吗/网站seo置顶