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