【发布时间】:2016-06-21 11:40:57
【问题描述】:
我想从 NV12 交换 YUV 格式的 U 和 V 位
YYYYYYYY UVUV // each letter presents a bit
到 NV21
YYYYYYYY VUVU
我不考虑 Y 平面,并通过下面的函数处理 U 和 V 平面
uchar swap(uchar in) {
uchar out = ((in >> 1) & 0x55) | ((in << 1) & 0xaa);
return out;
}
但我无法得到想要的结果,输出图像的颜色仍然不正确。
如何正确交换 U 和 V 平面?
【问题讨论】:
-
您确定每个色度通道只有两个位吗?
-
NV21 通常意味着每 4 个字节的亮度有 1 个字节的 U 和 1 个字节的 V,这意味着您要交换每个 字节,而不是位。
-
你说得对,我需要交换字节,而不是比特。
标签: image-processing yuv fourcc