java - 数组 RGB 操作

标签 java arrays rgb

假设我有一个 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/

相关文章:

java - 为什么ThreadDeath类不称为ThreadDeathError呢?

java - 如何?在 Java 中绘制自定义复合对象

JAVA - 更新 .properties 文件

arrays - Haskell Repa --- select 函数有点困惑

javascript - 如何将用户输入与存储在数组中的项目进行比较?

java - 像操作系统一样运行java应用程序

c# - 如何在struct中初始化char数组

c++ - HSI->RGB 转换问题

iphone - iPhone上如何从Bitmap Context中提取RGB分量?

python - 计算一系列值的 RGB 值以创建热图