OpenCV 图形API(45)颜色空间转换-----将图像从 BGR 色彩空间转换为 YUV ...

打印 上一主题 下一主题

主题 1285|帖子 1285|积分 3855


  • 操作系统: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"
函数原型

  1. GMat cv::gapi::BGR2YUV
  2. (         const GMat &          src
  3. )        
复制代码
参数



  • 参数src 输入图像:8位无符号3通道图像CV_8UC3。
代码示例

  1. #include <opencv2/opencv.hpp>
  2. #include <opencv2/gapi.hpp>
  3. #include <opencv2/gapi/core.hpp> // 包含G-API的核心功能
  4. int main()
  5. {
  6.     // 加载输入图像
  7.     cv::Mat src = cv::imread("/media/dingxin/data/study/OpenCV/sources/images/Lenna.png"); // 替换为你的图像路径
  8.     if (src.empty()) {
  9.         std::cerr << "无法加载图像" << std::endl;
  10.         return -1;
  11.     }
  12.     // 定义G-API图:BGR到YUV的转换
  13.     cv::GMat in;
  14.     cv::GMat out = cv::gapi::BGR2YUV(in);
  15.     // 创建编译后的图(compiled graph)
  16.     cv::GComputation comp(cv::GIn(in), cv::GOut(out));
  17.     cv::Mat yuvImg;
  18.     // 应用到输入图像并获取输出图像
  19.     comp.apply(cv::gin(src), cv::gout(yuvImg));
  20.     // 显示结果
  21.     cv::imshow("BGR image", src);
  22.     cv::imshow("YUV image", yuvImg);
  23.     cv::waitKey();
  24.     // 注意:OpenCV默认显示可能不直接支持YUV格式的预览。
  25.     // 如果需要可视化YUV图像,你可能需要先将其转换回BGR或使用特定的方法处理YUV数据。
  26.     return 0;
  27. }
复制代码
运行结果



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

梦应逍遥

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表