OpenCV 图形API(45)颜色空间转换-----将图像从 BGR 色彩空间转换为 YUV 色彩空间函数BGR2YUV()
- 操作系统:ubuntu22.04
- OpenCV版本:OpenCV4.9
- IDE:Visual Studio Code
- 编程语言:C++11
算法描述
将图像从BGR色彩空间转换为YUV色彩空间。
该函数将输入图像从BGR色彩空间转换为YUV。B、G和R通道值的常规范围是0到255。
输出图像必须是8位无符号3通道图像CV_8UC3。
注意:
函数文本ID为"org.opencv.imgproc.colorconvert.bgr2yuv"
函数原型
GMat cv::gapi::BGR2YUV
( const GMat & src
)
参数
- 参数src 输入图像:8位无符号3通道图像CV_8UC3。
代码示例
#include <opencv2/opencv.hpp>
#include <opencv2/gapi.hpp>
#include <opencv2/gapi/core.hpp> // 包含G-API的核心功能int main(){// 加载输入图像cv::Mat src = cv::imread("/media/dingxin/data/study/OpenCV/sources/images/Lenna.png"); // 替换为你的图像路径if (src.empty()) {std::cerr << "无法加载图像" << std::endl;return -1;}// 定义G-API图:BGR到YUV的转换cv::GMat in;cv::GMat out = cv::gapi::BGR2YUV(in);// 创建编译后的图(compiled graph)cv::GComputation comp(cv::GIn(in), cv::GOut(out));cv::Mat yuvImg;// 应用到输入图像并获取输出图像comp.apply(cv::gin(src), cv::gout(yuvImg));// 显示结果cv::imshow("BGR image", src);cv::imshow("YUV image", yuvImg);cv::waitKey();// 注意:OpenCV默认显示可能不直接支持YUV格式的预览。// 如果需要可视化YUV图像,你可能需要先将其转换回BGR或使用特定的方法处理YUV数据。return 0;
}