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

运行结果

相关推荐
音视频牛哥几秒前
从 RTSP/RTP/RTCP 到系统级时间闭环:跨平台低延迟RTSP播放架构解析
计算机视觉·机器人·音视频·rtsp播放器·linux rtsp播放器·windows rtsp播放器·安卓播放rtsp流
leijiwen9 分钟前
规则优先:AI 时代的规范驱动开发(SDD)新范式
人工智能·驱动开发
MarkHD23 分钟前
蓝牙钥匙 第69次 蓝牙钥匙安全与便捷性平衡:从理论到实践的全方位解析
网络·人工智能·安全
吃个糖糖24 分钟前
Pytorch 学习之Transforms
人工智能·pytorch·学习
思则变26 分钟前
[图像处理]图像美化
图像处理·人工智能
无水先生36 分钟前
数据集预处理:规范化和标准化
人工智能·深度学习
August_._1 小时前
【MySQL】触发器、日志、锁机制 深度解析
java·大数据·数据库·人工智能·后端·mysql·青少年编程
磊磊落落1 小时前
使用 FastMCP 编写一个 MySQL MCP Server
人工智能
零号机1 小时前
使用TRAE 30分钟极速开发一款划词中英互译浏览器插件
前端·人工智能
FunTester1 小时前
基于 Cursor 的智能测试用例生成系统 - 项目介绍与实施指南
人工智能·ai·大模型·测试用例·实践指南·curor·智能测试用例