元の画像とステゴ画像 (秘密のメッセージが埋め込まれている) の間の SNR を計算しようとしています。
実装にはグレースケール画像を使用しています。次の方法で計算していますが、SNR は -ve となります。
ここで画像について何か間違ったことをしている場合は修正してください
function snr_power = SNR(signal, noise)
% SNR (Signal to noise ratio)
[signalRowSize signalColSize] = size(signal);
[noiseRowSize noiseColSize] = size(noise);
signalAmp = signal(:);
noiseAmp = noise(:);
signalPower = sum(signalAmp.^2)/(signalRowSize*signalColSize);
noisePower = sum(noiseAmp.^2)/(noiseRowSize*noiseColSize);
% snr_amp = 10*log10((signalAmp./noiseAmp)^2);
snr_power = 10*log10(signalPower/noisePower);
end