gpt4 book ai didi

matlab - 在 Matlab 中,如何使用色度子采样来缩小 4 :4:4 image to 4:1:1 when the image is in YCbCr?

转载 作者:行者123 更新时间:2023-12-04 07:44:53 25 4
gpt4 key购买 nike

在这个确切的问题之后

In Matlab, how can I use chroma subsampling to downscale a 4:4:4 image to 4:2:0 when the image is in YCbCr?

他正在执行从 4:4:4 到 4:2:0 的色度缩小,我想从 4:4:4 缩小到 4:1:1。我不确定该怎么做?

YUV = rgb2ycbcr(RGB);
Y = YUV(:, :, 1);
U = YUV(:, :, 2);
V = YUV(:, :, 3);

执行降尺度

U = double(YUV(:, :, 2))
V = double(YUV(:, :, 3))

newU = ??
newV =??

谁能帮帮我?

提前致谢。

最佳答案

在 YUV 4:1:1 中,色度 channel 在水平轴上按 1/4 的因子进行下采样。<​​/p>

使用 imresize ,解决方法很简单:

newU = imresize(U, [size(U, 1), size(U, 2)/4]);
newV = imresize(V, [size(V, 1), size(V, 2)/4]);

注意事项:

  • 只有当输入的水平分辨率是 4 的倍数时,上述解决方案才有效。
  • imresize 的默认参数应用启用抗锯齿的三次插值。
    大多数现实世界的实现使用更简单的插值方法,例如没有抗锯齿的线性插值。
  • YUV 4:1:1(Y:Cb:Cr 4:1:1 的同义词)指的是色度下采样,但在流式视频或 RAM 或文件中对组件进行排序有多种选择。

色度子采样插图:
enter image description here[https://robbeekmans.net/euc/vmware-horizo​​n-7-4-blast-gets-necessary-update-support-chroma-subsampling-444-h-264/]

另一个例子:
enter image description here[https://academickids.com/encyclopedia/index.php/YUV_4:2:0]


不使用 imresize 实现:

如果您想要与 imresize 相同的结果(没有抗锯齿的双线性):

refU = imresize(U, [size(U, 1), size(U, 2)/4], 'bilinear', 'Antialiasing', false);
% refV = ...

下面的代码是等价的:

U = double(U);
V = double(U);
newU = uint8(round(U(:, 2:4:end) + U(:, 3:4:end))/2);
newV = uint8(round(V(:, 2:4:end) + V(:, 3:4:end))/2);

您也可以使用每 4 个元素的平均值(如果降低噪声很重要,则更好):

U = double(U);
V = double(V);
newU = uint8(round((U(:, 1:4:end) + U(:, 2:4:end) + U(:, 3:4:end) + U(:, 4:4:end))/4));
newV = uint8(round((V(:, 1:4:end) + V(:, 2:4:end) + V(:, 3:4:end) + V(:, 4:4:end))/4));

注意:
我更喜欢术语“下采样”而不是“子采样”。
按 1/4 进行子采样意味着跳过 - 每 4 个元素采样一次,并忽略其他 3 个。
从历史上看,在模拟(或混合模拟/数字)视频系统中,转换为 4:1:1 最有可能通过模拟子采样执行。
在数字系统中,当您已经拥有 4:4:4 信息时,平均样本比跳过样本更好。
我认为术语“下采样”更合适(但“子采样”是常用术语)。

关于matlab - 在 Matlab 中,如何使用色度子采样来缩小 4 :4:4 image to 4:1:1 when the image is in YCbCr?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67245987/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com