gpt4 book ai didi

java - YUV TO RGB 结果转负值

转载 作者:太空狗 更新时间:2023-10-29 14:24:28 26 4
gpt4 key购买 nike

我正在开发一个使用 java 的应用程序,它将 YUV 像素(x,y)转换为 RGB 像素,这是我所做的:(数据是 YUV 字节数组)

int Y = data[ y * width + x];
int U = data[ (int) (width * height + Math.floor(y/2) * Math.floor(width/2) + Math.floor(x/2) + 1)];
int V = data[ (int) (width * height + Math.floor(y/2) * (width/2) + Math.floor(x/2) + 0)];

int B = (int) (1.164*(Y - 16)+ 2.018*(U - 128));

int G = (int) (1.164*(Y - 16) - 0.813*(V - 128) - 0.391*(U - 128));

int R = (int) (1.164*(Y - 16) + 1.596*(V - 128));

但是最后我发现我得到的RGB值都是负数。有人可以帮我弄这个吗?谢谢!

最佳答案

YUV 有很多“ flavor ”,有时这些会与 YCbCr 混在一起。您的公式似乎适用于 Y 在 [16,235] 中的格式,但是,我可以告诉您,这对于 Android 中返回的 NV21 图像格式(一种标准 YUV 平面)是不正确的。

关于java - YUV TO RGB 结果转负值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13755189/

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