1
インポートイメージは、このように各画素を反復、
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);
}
}
RGB値は常に0の間であるように見えます画像ファイルのチャンネル数が16ビットであっても、値は0から65535の範囲でなければなりません。 正しい色深度を維持できますか?
は、あなただけの '65535/255'で数字を掛けることができませんか? –
数字r gとbは浮動小数点数として格納されていても、基本的には整数なので、実際に乗算しても元の深度は復元されないため、これは機能しません。 –
'red()'、 'green()'、 'blue()'関数は正規化された値を返します。たぶん、 'pixels [loc]'値にカラー関数を渡すのではなく、直接アクセスしてみてください。 –