OpenCV 图形API(52)颜色空间转换-----将 NV12 格式的图像数据转换为 RGB 格式的图像

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

算法描述

将图像从 NV12 (YUV420p) 色彩空间转换为 RGB。该函数将输入图像从 NV12 色彩空间转换到 RGB。Y、U 和 V 通道值的常规范围是 0 到 255。

输出图像必须是 8 位无符号三通道图像 CV_8UC3。

注意 :

函数的文字 ID 是 "org.opencv.imgproc.colorconvert.nv12torgb"

函数原型

cpp 复制代码
GMat cv::gapi::NV12toRGB 
(
 	const GMat &  	src_y,
	const GMat &  	src_uv 
) 	

参数

  • 参数 src_y:输入图像,8 位无符号单通道图像 CV_8UC1。
  • 参数 src_uv:输入图像,8 位无符号双通道图像 CV_8UC2。

代码示例

cpp 复制代码
#include <opencv2/gapi.hpp>
#include <opencv2/gapi/core.hpp>
#include <opencv2/gapi/imgproc.hpp>
#include <opencv2/opencv.hpp>

int main()
{
    // 假设我们有一个宽度为640像素,高度为480像素的图像
    int width  = 640;
    int height = 480;

    // 创建Y和UV平面的Mat对象
    cv::Mat yPlane( height, width, CV_8UC1 );           // Y 平面
    cv::Mat uvPlane( height / 2, width / 2, CV_8UC2 );  // UV 平面

    // 填充一些随机数据作为示例
    cv::randu( yPlane, cv::Scalar( 0 ), cv::Scalar( 255 ) );
    cv::randu( uvPlane, cv::Scalar( 0 ), cv::Scalar( 255 ) );

    // 定义G-API图
    cv::GMat src_y, src_uv;
    auto rgb = cv::gapi::NV12toRGB( src_y, src_uv );

    cv::GComputation comp( cv::GIn( src_y, src_uv ), cv::GOut( rgb ) );

    // 创建输出矩阵
    cv::Mat out_rgb;

    // 应用计算图并执行转换,指定使用默认的CPU后端
    comp.apply( cv::gin( yPlane, uvPlane ), cv::gout( out_rgb ), cv::compile_args( cv::gapi::kernels() ) );

    // 显示结果
    cv::imshow( "Converted RGB Image", out_rgb );
    cv::waitKey( 0 );

    return 0;
}

运行结果

相关推荐
桃西西呀2 分钟前
我给网关加了计量埋点,才发现限流配错三个月,下游账单多烧了两倍
人工智能·llm·ai编程
学页官方8 分钟前
把教培训答流程封装成 AI Skill:一次编写,全教研组复用
人工智能·ai
天空属于哈夫克312 分钟前
企业微信 API 二次开发:如何搭建 AI 智能客服系统?
人工智能·企业微信
在所不辞兄14 分钟前
为什么残差连接能够缓解深层神经网络的退化问题,而不仅仅是改善梯度传播?
人工智能·深度学习·神经网络·机器学习
燃烧的枫15 分钟前
Windows 下 YOLO26 的 TensorRT C++ 部署
人工智能·pytorch·windows·计算机视觉·tensorrt·cuda·yolo26
Dawson Zhu18 分钟前
【AI Infra小白入门⑧】PyTorch框架Infra实战指南:Tensor、autograd与性能调试
人工智能·语言模型·架构·aigc·agi
明志数科18 分钟前
遥操作、UMI与头戴视角采集:三类机器人操作数据的工程对比与选型方法
人工智能·机器人
电子元件小说家22 分钟前
2026年秋季电感市场观察:AI算力与汽车电子双轮驱动下的选型与验证指南
人工智能·汽车
挖掘狂人24 分钟前
模型 Temperature 和 Top-p 到底有什么区别?一篇讲透原理与调参
人工智能·llm·ai编程
深蓝电商API26 分钟前
Firecrawl、ScrapeGraphAI:AI爬虫框架横评
人工智能·爬虫·firecrawl·scrapegraphai