保留导入图像的颜色深度

时间:2017-06-04 09:42:51

标签: image-processing processing color-depth

使用

导入图像时
loadImage("...")

命令,迭代像素:

img.loadPixels(); 
int w = img.width;
int h = img.height;
for (int y = 0; y < h; y++) {
  for (int x = 0; x < w; x++) {
    int loc = x + y*w;
    float r = red(img.pixels[loc]);
    float g = green(img.pixels[loc]);
    float b = blue(img.pixels[loc]);
    println(r + ", " + g + ", " + b);
  }
}

即使图像文件的每个通道深度为16位,R G B值也总是介于0到255之间,其中值应介于0到65535之间。 是否可以保留正确的颜色深度?

1 个答案:

答案 0 :(得分:-1)

您还没有说过loadImage命令来自哪个库。 可能有16位版本,但不太可能。 24位是一种标准,适用于所有但非常高端的工作。

我建议您查看我的TIFF加载器(与loadImage一样,返回24位图像),并修改它以返回16位通道。这并不困难,只是不丢弃较大通道图像的低位(浮点和16位)。

她是TIFF装载机: https://github.com/MalcolmMcLean/tiffloader