Я проводил дополнительные исследования по теме стеганографии DWT. Я наткнулся на приведенный ниже код в Интернете. Это первый раз, когда я столкнулся с указанием коэффициентов поддиапазонов. У меня есть идея, что делает код, но я хотел бы, чтобы кто-нибудь проверил это!
steg_coeffs = [4, 4.75, 5.5, 6.25, 7];
for jj=1:size(message,2)+1
if jj > size(message,2)
charbits = [0,0,0,0,0,0,0,0];
else
charbits = dec2bin(message(jj),8)';
charbits = charbits(:)'-'0';
end
for ii=1:8
bit_count = bit_count + 1;
if charbits(ii) == 1
if HH(bit_count) <= 0
HH(bit_count) = steg_coeffs(randi(numel(steg_coeffs)));
end
else
if HH(bit_count) >= 0
HH(bit_count) = -1 * steg_coeffs(randi(numel(steg_coeffs)));
end
end
end
Я думаю, что steg_coeffs выбираются коэффициентом поддиапазона HH, где биты будут встроены в эти выбранные коэффициенты. Я погуглил randi и считаю, что он рандомизирует указанные коэффициенты на каждой итерации цикла и встраивает в коэффициенты случайного выбора. я прав?? Спасибо