- 操作系统:ubuntu22.04
 - OpenCV版本:OpenCV4.9
 - IDE:Visual Studio Code
 - 编程语言:C++11
 
算法描述
将图像从BGR色彩空间转换为LUV色彩空间。
 该函数将输入图像从BGR色彩空间转换为LUV。B、G和R通道值的传统范围是0到255。
 输出图像必须是8位无符号3通道图像CV_8UC3。
注意:
 函数文本ID为"org.opencv.imgproc.colorconvert.bgr2luv"
函数原型
GMat cv::gapi::BGR2LUV
(
 	const GMat &  	src
) 	
 
参数
- 参数src 输入图像:8位无符号3通道图像CV_8UC3。
 
代码示例
#include <opencv2/gapi.hpp>
#include <opencv2/gapi/core.hpp>
#include <opencv2/gapi/imgproc.hpp>
#include <opencv2/opencv.hpp>
int main()
{
    // 加载输入图像
    cv::Mat bgr_img = cv::imread( "/media/dingxin/data/study/OpenCV/sources/images/Lenna.png" );
    if ( bgr_img.empty() )
    {
        std::cerr << "无法读取图像,请检查路径是否正确。\n";
        return -1;
    }
    // 定义G-API网络
    cv::GMat in;
    cv::GMat luv;                   // 单个输出GMat用于LUV图像
    luv = cv::gapi::BGR2LUV( in );  // 使用BGR2LUV进行色彩空间转换
    // 创建并运行G-API图
    cv::GComputation comp( cv::GIn( in ), cv::GOut( luv ) );
    // 准备接收输出的变量
    cv::Mat luv_mat;
    // 应用计算图
    comp.apply( bgr_img, luv_mat );
    // 显示或处理结果
    // 结果是一个单独的cv::Mat对象,包含转换后的LUV图像
    // 注意:OpenCV默认情况下不支持直接显示LUV图像,你可能需要将其转换回BGR或其他可视化的色彩空间来查看
    cv::Mat luv_to_bgr;
    cv::cvtColor( luv_mat, luv_to_bgr, cv::COLOR_Luv2BGR );
    cv::imshow( "Original BGR Image", bgr_img );
    cv::imshow( "LUV to BGR", luv_to_bgr );
    cv::waitKey( 0 );
    // 或者保存结果
    cv::imwrite( "luv_image.png", luv_to_bgr );
    return 0;
}
 
运行结果


















