- 操作系统: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;
}