使用
导入图像时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之间。 是否可以保留正确的颜色深度?
答案 0 :(得分:-1)
您还没有说过loadImage命令来自哪个库。 可能有16位版本,但不太可能。 24位是一种标准,适用于所有但非常高端的工作。
我建议您查看我的TIFF加载器(与loadImage一样,返回24位图像),并修改它以返回16位通道。这并不困难,只是不丢弃较大通道图像的低位(浮点和16位)。
她是TIFF装载机: https://github.com/MalcolmMcLean/tiffloader