Я хочу знать, сколько данных может быть встроено в изображение разных размеров. Например, в файле изображения 30kb, сколько данных можно сохранить без искажения изображения.как рассчитать, сколько данных можно вставить в изображение.
ответ
это зависит от типа изображения, algoridum, если я беру пример в качестве 24bitmap изображения для хранения символов ASCII
To store a one ASCII Character = Number of Pixels/8 (one ASCII = 8bits)
Это зависит от двух точек:
- Сколько бит на пиксель на вашем изображении.
- Сколько бит вы будете вставлять в один пиксель.
O.K позволяет предположим, что ваша модель цвета RGB, и каждый pixel = 8*3 bits
(один байт для каждого цвета), и вы хотите вставлять 3 бита в одном пикселе.
data that can be embedded into an image = (number of pixels * 3) bits
Если вы будете использовать LSB, чтобы скрыть информацию это дало бы 30000Bits свободного пространства для использования. 3750 байт.
Поскольку LSB представляет 1 или 0 в байте, который получает значения от 0 до 256, это дает вам в худшем случае, что вы собираетесь изменить все искажения LSB на 1/256, что равно 0,4%.
В статистическом среднем сценарии вы получите 0,2% искажения.
Так что, зависит от того, какой бит байта вы собираетесь изменить.