Java 阵列RGB操作

Java 阵列RGB操作,java,arrays,rgb,Java,Arrays,Rgb,假设我有一个int[]]arrayA和一个int[]]arrayB。在该数组中的任何给定坐标处都有一个RGB值。我要做的是使用加权平均法将arrayA和array2中的RGB值合并到一个新数组newArray 所以我要做的是从每个RGB值中提取红色、绿色和蓝色值,如下所示: curColA=RGB //suppose RGB is just the RGB in any given point int curRedA = (curCol >> 16)

假设我有一个
int[]]arrayA
和一个
int[]]arrayB
。在该数组中的任何给定坐标处都有一个RGB值。我要做的是使用加权平均法将
arrayA
array
2中的RGB值合并到一个新数组
newArray

所以我要做的是从每个RGB值中提取红色、绿色和蓝色值,如下所示:

        curColA=RGB //suppose RGB is just the RGB in any given point

        int curRedA = (curCol >> 16) & 0xFF;

        int curGreenA = (curCol >> 8) & 0xFF;

        int curBlueA= curCol & 0xFF;
我对arrayB也这样做,现在我想合并它们。这就是我遇到麻烦的地方。我是只做
newRed=(curRedA+curRedB)/2
还是有其他方法

arrayA values:  { { 0, 0x44, 0x5500, 0x660000 } };
arrayB values:  { { 2, 4, 6, 8 } };
newArray expected values: { 0, 0x44, 6, 0x660000 } };
加权平均通常是这样做的:

newRed = (curRedA * redWeight + curRedB * (1 - redWeight));
…其中,
redWeight
在[0,1]范围内,表示“A”数组中对红色值的权重(或偏差)。它还表示对“B”数组中红色值的偏移量的倒数。

加权平均通常是这样做的:

newRed = (curRedA * redWeight + curRedB * (1 - redWeight));

…其中,
redWeight
在[0,1]范围内,表示“A”数组中对红色值的权重(或偏差)。它还表示对“B”数组中红色值的偏差的倒数。

以及redWeight等于多少?@fprime-我不确定。按照我的理解,使用加权平均值的想法似乎不符合您的预期输出。而redWeight等于多少?@fprime-我不确定。按照我的理解,使用加权平均值的想法似乎不符合您的预期输出。