我正在使用 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值是负数。有人可以帮我弄这个吗?谢谢!