2^12 バイナリ ビットを RGB レイヤーに隠したい。例 000011010000 この値を RGB レイヤーで非表示にしたい。2^12 ビットは、R 層の 0000 hide、G 層の 1101、B 層の 0000 のように 3 つの層に分割する必要があります。誰でもJavaでこれを行う方法を知っています..
2 に答える
あなたがやろうとしていることの用語は、「デジタルステガノグラフィ」、特にデジタル画像ステガノグラフィです。ステガノグラフィーと Java を検索すると、次のようなものを含むいくつかの例が見つかります。
I'm guessing you have an original image in non-compressed form (e.g., bitmap, PNG) and you want to create a modified image that can be used in conjunction with the original image to extract the hidden data. If so, I think hiding 12 bits of data into one pixel would probably be too noticeable. Perhaps three bits of data per pixel would work best, assuming each pixel takes up 3n bytes. Then you could flip the least significant bit iff the bit you are hiding is a 1. I glanced at @CaptainAwesomePants's reference, and it seems along the same lines as this suggestion, but with more technical detail and examples. (I gave his/her answer +1.)