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