Как рассчитать взвешенный PSNR? - PullRequest
1 голос
/ 03 февраля 2020

Мне нужно произвести взвешенное PSNR, для этого я использую следующий код, но MSE не соответствует действительности. не могли бы вы сказать мне, что я должен сделать для этого?

mse_IQA_GN_ns=sum(sum(((ref(:)-GN_ns(:)).^2).*IQA_map(:)))/numel(ref);
psnr_IQA_GN_ns=10*log10(255^2/mse_IQA_GN_ns)

ref является исходным изображением, а GN_ns является атакованным изображением. IQA_map - карта весов. Я не знаю, как я могу рассчитать MSE с этим весом. В чем проблема вышеуказанного кода? Все изображения имеют размер 512x512. когда я использую следующий код для MSE, вывод отличается от immse в Matlab !! когда я использую приведенный выше код для вычисления mse для Лены до и после манипуляции, MSE, использующая immse, равна 1.7100e+03, но с использованием приведенной ниже функции mse равна 0,048. почему это происходит? вычисление mse с использованием следующего кода не так? Спасибо.

mse=sum(sum(((ref(:)-GN_ns(:)).^2)))/numel(ref);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...