как скрыть 2 ^ 12 двоичного бита в слое RGB - PullRequest
0 голосов
/ 28 декабря 2010

Я хочу спрятать 2 ^ 12 двоичных битов в слой RGB. Пример 000011010000 это значение я хочу скрыть в слое RGB. бит 2 ^ 12 должен делиться на 3 уровня, например, 0000 скрыть на уровне R 1101 на уровне G и 0000 на уровне B. кто-нибудь знает, как сделать это в Java ..

Ответы [ 2 ]

1 голос
/ 28 декабря 2010

Термин для того, что вы пытаетесь сделать, - это «цифровая стеганография», в частности, стеганография цифровых изображений.Ищите стеганографию и Java, и вы найдете несколько примеров, в том числе такие: http://www.stratos.me/2008/04/steganography-and-bitmap-files-for-hardcores-or-masochists/

0 голосов
/ 28 декабря 2010

Я предполагаю, что у вас есть исходное изображение в несжатом виде (например, растровое изображение, PNG), и вы хотите создать модифицированное изображение, которое можно использовать вместе с исходным изображением для извлечения скрытых данных. Если это так, я думаю, что скрытие 12 бит данных в один пиксель, вероятно, было бы слишком заметно. Возможно, три бита данных на пиксель будут работать лучше всего, при условии, что каждый пиксель занимает 3n байтов. Затем вы можете перевернуть наименее значимый бит, если бит, который вы скрываете, равен 1. Я посмотрел на ссылку @ CaptainAwesomePants, и она выглядит примерно так же, как это предложение, но с более техническими подробностями и примерами. (Я дал ему / ей ответ +1.)

...