gpt4 book ai didi

python - python中的YUV子采样色度 channel

转载 作者:太空宇宙 更新时间:2023-11-04 11:00:30 29 4
gpt4 key购买 nike

将色度 channel 宽度和/或高度减半时,正确的二次采样方法是什么?要为每个 2x2 亮度像素取一个色度像素,当从全分辨率色度源采样时,我们取哪个色度像素 - 左上角?所有 4 个的平均值?没关系?

这是我当前的代码

if field == 'top':
i = 0
elif field == 'bottom':
i = 1

U = fromstring(Udata, dtype='uint8', count=w/2*h).reshape(h,w/2)

# halve chroma height (it's already half-width from UYVY source) by line skipping
U = U[i::2]

# scale chroma by a factor of 0.5 (2x2 pixels in -> 1 pixel out)
U = (U[0::2, 0::2]>>2) + (U[0::2, 1::2]>>2) + (U[1::2, 0::2]>>2) + (U[1::2, 1::2]>>2) + \
(((U[0::2, 0::2]%4) + (U[0::2, 1::2]%4) + (U[1::2, 0::2]%4) + (U[1::2, 1::2]%4)) >> 2)

最佳答案

理想情况下,您可以对数据进行插值以生成可能的最佳图像,但我认为最好通过快速概述亮度和色度样本所在的位置来回答您的问题(想象一个相机的一个网格用于亮度,另一个用于色度)。对于子采样,有多种标准用于选择色度相对于亮度样本的位置。

大多数情况下,色度与“左上”亮度像素位于同一位置,

XO  X   XO  X

X X X X

XO X XO X

X X X X

或者位于广场的中心,

X   X   X   X
O O
X X X X

X X X X
O O
X X X X

或位于两个左侧亮度样本之间的正方形的左侧。

X   X   X   X
O O
X X X X

X X X X
O O
X X X X

请注意,在所有情况下,至少与一些亮度样本位于同一位置的色度值将是几个色度值的组合,这通常是通过 FIR 滤波器完成的,这就是为什么建议使用另一个滤波器进行反向操作的原因(但是你可以通过平均得到好的结果)

关于python - python中的YUV子采样色度 channel ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5972698/

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