画像チャンネルのブール演算
すべてのピクセルの赤、緑、青の値にビット単位のAND、OR、XORを適用し、結果を1枚のグレースケール画像として取得できます。この低レベルの演算は、チャンネルの重なり方を可視化し、グリッチ風のグラフィックパターンを作成します。また、マスクやステガノグラフィの実験、デジタルカラーがビットでどのように保存されるかの学習にも役立ちます。元画像のアルファチャンネルは保持されます。
よくある質問
このツールでは何を計算しますか?
各ピクセルの8ビットの赤、緑、青の値を取り出し、選択したビット演算子で組み合わせます。得られた1つの値が、そのピクセルのグレー値になります。赤240、緑60、青255のピクセルの場合、ANDでは48、ORでは255になります。
AND、OR、XORはそれぞれ何をしますか?
ANDは3つすべてのチャンネルでセットされているビットだけを残すため、すべてのチャンネルが明るくない限り結果は暗くなります。ORはどれかのチャンネルでセットされているビットを残すため、1つでも明るいチャンネルがあれば結果は明るくなります。eorとも呼ばれるXORは、奇数個のチャンネルでセットされているビットを残し、鮮明な帯状パターンを生み出します。
結果がポスタライズされたり、縞模様になったりするのはなぜですか?
ビット演算は数値の明るさではなく2進表現に対して行われるため、色のわずかな変化で上位ビットが反転し、結果が大きく変わることがあります。そのため、特にXORでは輪郭のような縞模様が生じます。これは想定どおりの動作で、多くのグリッチアート効果の基礎です。
グレースケール画像ではどうなりますか?
グレースケール画像は、同じ値のチャンネルが3つあるものとして扱われます。そのためANDとORは元のグレー値を返し、XORも同じ値を返します。等しいビットが3つある場合、奇数個なのでセットされたままになるためです。この演算子はカラー画像で意味を持ちます。
透明度は保持されますか?
はい。アルファチャンネルをいったん分離し、カラー各チャンネルを組み合わせたあと、アルファを再び付加します。グレースケールの結果でも透明部分は透明のままです。
どのような用途に役立ちますか?
色の符号化方法を調べる、すべてのチャンネルが明るい部分からすばやくマスクを作る、ビットパターンを隠したり表示したりする、抽象的なアートを作成するといった用途に役立ちます。開発者は画像処理パイプラインの検証にも使います。
出力形式は何ですか?
結果は可逆なPNGで、グレースケールで表示されます。4000ピクセルの上限を超えた後も、アップロード画像の寸法が維持されます。
どの形式をアップロードできますか?
JPEG、PNG、GIF、WebP、TIFFまたはAVIFの画像をアップロードできます(最大5 MB)。アニメーションファイルは最初のフレームを使用します。JPEG圧縮では下位ビットが変化するため、JPEGファイルではPNGよりノイズが目立ちます。
Image Bitwise Blendとはどう違いますか?
このツールは1枚の画像内のチャンネルを組み合わせます。Image Bitwise Blendは、同じ演算子を使って2枚の異なる画像をチャンネルごとに組み合わせます。画像を混ぜるにはそちらを、1枚の画像を解析するにはこちらをお使いください。
どのエンジンが使われていますか?
このツールは、sharpライブラリのbandbool操作をlibvips上で使用し、各ピクセルのバンド全体に演算子を適用します。結果は正確で決定論的です。