OpenCV:灰度图像的YUV值?

时间:2015-03-10 16:39:29

标签: python opencv grayscale yuv

是否可以计算灰度图像的值YUV?

我发现了一篇令我困惑的文章: 基于耦合地图格的交互式图像着色和重新着色 。其中作者提出了一种颜色和重新着色图像的算法。

对于着色,它们会为灰度图像着色。用户用所需的颜色描绘图像的一些区域,该颜色通过算法自动地展开。

他们使用YUV颜色空间来比较当前像素与其邻居之间Y的值。如果邻居的Y值强于当前像素,则将其UV值设置为邻居(攻击者)的值。

我的问题:我如何能够获得灰度图像的给定像素的YUV值?

或者可能是一个更好的问题:他们如何在那篇文章中比较每个像素的UV值,因为他们在开始时将它们设置为0(灰度)?

1 个答案:

答案 0 :(得分:0)

这是三个问题:

  1. 是否可以计算灰度图像的YUV值?

  2. 我的问题:我如何能够提取灰度图像的给定像素的YUV值?

    您可以将灰度图像视为RGB图像,然后将其转换为YUV:

    cv::Mat1b image;
    cv::Mat3b image_BGR, image_YUV;
    cv::cvtColor( image, image_BGR, COLOR_GRAY2BGR );
    cv::cvtColor( image_BGR, image_YUV, COLOR_BGR2YUV );
    
  3. 或者可能是一个更好的问题:他们如何在那篇文章中比较每个像素的UV值,因为他们在开始时将它们设置为0(灰度)?

    我建议您将该问题作为单独的问题发布(并添加指向论文PDF的链接)。