Esempio n. 1
0
  private static BufferedImage disparity(
      ImageInteger src, BufferedImage dst, int minValue, int maxValue, int invalidColor) {
    int range = maxValue - minValue;

    for (int y = 0; y < src.height; y++) {
      for (int x = 0; x < src.width; x++) {
        int v = src.unsafe_get(x, y);

        if (v > range) {
          dst.setRGB(x, y, invalidColor);
        } else {
          int r, b;

          if (v == 0) {
            r = b = 0;
          } else {
            r = 255 * v / maxValue;
            b = 255 * (maxValue - v) / maxValue;
          }

          dst.setRGB(x, y, r << 16 | b);
        }
      }
    }

    return dst;
  }