OpenCV 图形API(60)颜色空间转换-----将图像从 YUV 色彩空间转换为 RGB 色彩空间函数YUV2RGB()

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

算法描述

将图像从 YUV 色彩空间转换为 RGB。

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

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

注意 :

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

函数原型

cpp 复制代码
GMat cv::gapi::YUV2RGB 	
(
 	const GMat &  	src
) 	

参数

  • 参数 src: 输入图像,8 位无符号三通道图像 CV_8UC3。

代码示例

cpp 复制代码
#include <opencv2/gapi.hpp>
#include <opencv2/gapi/core.hpp>     // 包含核心功能
#include <opencv2/gapi/imgproc.hpp>  // 包含图像处理功能
#include <opencv2/opencv.hpp>

int main()
{
    // 假设我们已经有一个YUV格式的图像
    // 这里为了示例,先从BGR转YUV再转回RGB
    cv::Mat bgr_img = cv::imread( "/media/dingxin/data/study/OpenCV/sources/images/Lenna.png" );
    if ( bgr_img.empty() )
    {
        std::cerr << "Error: Image not found!" << std::endl;
        return -1;
    }

    // 先将BGR图像转换为YUV格式作为输入
    cv::Mat yuv_img;
    cv::cvtColor( bgr_img, yuv_img, cv::COLOR_BGR2YUV );

    // 定义G-API图
    cv::GMat src;
    auto rgb = cv::gapi::YUV2RGB( src );

    cv::GComputation comp( cv::GIn( src ), cv::GOut( rgb ) );

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

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

    // 如果需要BGR格式,可以再次转换
    cv::Mat out_bgr;
    cv::cvtColor( out_rgb, out_bgr, cv::COLOR_RGB2BGR );

    // 显示原始图像和转换后的图像
    cv::imshow( "Original BGR Image", bgr_img );
    cv::imshow( "Converted to RGB from YUV", out_rgb );
    cv::imshow( "Converted Back to BGR", out_bgr );

    cv::waitKey( 0 );

    return 0;
}

运行结果

相关推荐
Navicat中国1 小时前
Navicat 18 内置 AI 助手让数据库开发从繁琐操作迈向智能协作
大数据·人工智能·数据库开发
4SAPI1 小时前
多模型请求路由怎么设计?成本、速度和能力如何平衡
人工智能·python·gateway·php
魔乐社区2 小时前
翼芯・智算测试与适配优化专区,让国产算力“选得准、跑得通、用得好“
人工智能·开源·大模型
XCDoris3 小时前
郴州logo设计机构
大数据·人工智能·python
Goboy4 小时前
一个人带三个Agent,我用全新TRAE从0到1搭了个资讯周刊站
人工智能·trae
俊哥V4 小时前
每日 AI 研究简报 · 2026-10-19
人工智能·ai
AI_AGENT_DEV_AI4 小时前
AI英语教培智能体的开发
人工智能
物联网软硬件开发-轨物科技4 小时前
【技术白皮书】光伏清检一体化机器人系统解决方案技术白皮书
大数据·运维·网络·人工智能·机器人
海宇数据4 小时前
零信任架构实战:基于海宇网上踪迹欺诈行为识别构建自动化信贷资信评估网关
运维·人工智能·架构·自动化
冬奇Lab4 小时前
开源项目第242期:HyperFrames —— 写 HTML 就能渲染视频,专为 AI Agent 设计的确定性视频框架
人工智能·开源·音视频开发