gpt4 book ai didi

java - 数组 RGB 操作

转载 作者:太空宇宙 更新时间:2023-11-04 08:48:31 27 4
gpt4 key购买 nike

假设我有一个 int[][] arrayA 和一个 int[][] arrayB。该数组中的任何给定坐标都有一个 RGB 值。我想要做的是使用加权平均方法将 arrayAarray2 中的 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”数组中红色值的偏差的倒数。

关于java - 数组 RGB 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3869810/

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