【问题标题】:Green component after setting Y,Cb and Cr to zero将 Y、Cb 和 Cr 设置为零后的绿色分量
【发布时间】:2013-05-08 15:53:24
【问题描述】:

我将 Y、Cb 和 Cr 设置为零并使用 matlab 将其转换回 RGB。我不明白的是,为什么我在 RGB 颜色空间中将红色和蓝色分量设为零,而绿色分量的值为 132?

编辑:(来自评论的代码):

I1 = imread('img.jpg'); 
img = rgb2ycbcr(I1); 
lumin = img; 
lumin(:,:,1) =0; 
lumin(:,:,2) =0; 
lumin(:,:,3)=0; 
figure,imshow(lumin); 
rgn = ycbcr2rgb(lumin); 
figure,imshow(rgn);

【问题讨论】:

  • 因为 T,Cb,Cr 颜色空间的归一化...
  • 您能否提供更多详细信息?
  • 发布您的代码可能会有所帮助。
  • Cb、Cr 零不是表示“完全负数”吗?
  • I1 = imread('img.jpg'); img = rgb2ycbcr(I1);发光 = img;发光(:,:,1)=0;发光(:,:,2)=0;发光(:,:,3)= 0;图,imshow(发光); rgn = ycbcr2rgb(发光);图,imshow(rgn);

标签: matlab colors rgb yuv


【解决方案1】:

RGB 和 YCbCr 之间的转换公式涉及偏移。因此,即使在一个域中全为零,您也不会在另一个域中全为零。如果您直接使用该公式将全零 YCbCr 域矩阵转换为 RGB,您将获得正的绿色值和负的红色和蓝色值。这些负值通常阈值为 0,这就是您所看到的。

维基百科页面http://en.wikipedia.org/wiki/YCbCrhttp://www.mathworks.com/help/vision/ref/colorspaceconversion.html 的MATLAB 颜色空间转换块参考页面显示了使用的公式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多