图像解码器的处理代码 returns þ

Processing code for image decoder returns þ

我正在尝试为处理中的图像制作解码器,但是 returns þ 不管我输入什么。非常感谢您的帮助。

void setup() {
  //size(255, 255);
  colorMode(HSB);
  String result = decode();
  println(result);
  saveStrings("output.txt", new String[]{result});
}
String decode() {
  PImage img = loadImage("code.png");
  //image(img, 0, 0);
  img.loadPixels();
  String decoded = "";
  int[] chars = new int[255 * 255];
  for (int i = 0; i < 255; i++) {
    for (int j = 0; j < 255; j++) {
      color col = img.pixels[i * 255 + j];//get(i, j);
      if (hue(col) == 0 && saturation(col) == 0) {
        chars[floor(hue(col) * 255 + saturation(col))] = j;
        println((char) j);
      }
    }
  }
  decoded = new String(chars, 0, chars.length);
  String[] list = decoded.split("\u0000");
  StringBuilder builder = new StringBuilder();
  for (String string : list) {
    builder.append(string);
  }

  decoded = builder.toString();
  return decoded;
}

主要问题可能出现在 if (hue(col) == 0 && saturation(col) == 0) { 下一行 总是 hue(col)saturation(col) 为 0。这意味着你总是在执行 chars[0] = j;,而你的最终结果只有一个字符(你描述的 þ)。