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

运行结果

相关推荐
haiyu_y3 分钟前
Day 57 经典时序模型(1)——差分、ACF/PACF 与 AR/MA/ARMA
人工智能·深度学习·ar
duyinbi75174 分钟前
【深度学习】使用YOLOv8-MFMMAFPN进行泡沫检测的完整实现
人工智能·深度学习·yolo
AI科技星8 分钟前
引力与电磁的动力学耦合:变化磁场产生引力场与电场方程的第一性原理推导、验证与统一性意义
服务器·人工智能·科技·线性代数·算法·机器学习·生活
hkNaruto10 分钟前
【AI】AI学习笔记:OpenAI Tools完全指南:从原理到实战入门
人工智能·笔记·学习
狮子座明仔13 分钟前
MiMo-V2-Flash 深度解读:小米 309B 开源 MoE 模型如何用 15B 激活参数吊打 671B 巨头?
人工智能·语言模型·自然语言处理
紧固件研究社14 分钟前
从标准件到复杂异形件,紧固件设备如何赋能制造升级
人工智能·制造·紧固件
木头左14 分钟前
贝叶斯深度学习在指数期权风险价值VaR估计中的实现与应用
人工智能·深度学习
反向跟单策略15 分钟前
期货反向跟单—高频换人能够提高跟单效率?
大数据·人工智能·学习·数据分析·区块链
哎吆我呸15 分钟前
Android studio 安装Claude Code GUI 插件报错无法找到Node.js解决方案
人工智能
咕噜企业分发小米16 分钟前
独立IP服务器有哪些常见的应用场景?
人工智能·阿里云·云计算