В этом примере показано, как сравнить качество шумного, и denoised отображают от значения PSNR, вычисленного с помощью PSNR
блок.
Считайте изображение в рабочее пространство MATLAB.
I = imread('cameraman.tif');
Считайте соответствующее шумное изображение в рабочее пространство MATLAB.
noisyI = imread('noisyCameraman.tif');
Откройте модель Simulink. Модель читает оригинал и шумные изображения от рабочего пространства MATLAB и denoises шумное изображение при помощи Median
Filter
блок.
modelname='ex_blkpsnr.slx';
open_system(modelname);
Модель вычисляет значение PSNR для шумного и изображения denoised относительно оригинального изображения и выходных параметров как переменные под названием psnr_noisy
и psnr_denoised
соответственно. Изображение denoised и вычисленные значения PSNR экспортируются в рабочее пространство MATLAB.
Симулируйте модель.
out = sim(modelname);
Отобразите шумное изображение и соответствующее значение PSNR
imshow(noisyI,[]);
title(['PSNR = ', num2str(out.psnr_noisy)]);
Отобразите изображение denoised и соответствующее значение PSNR. Изображение denoised имеет лучшее перцепционное качество, чем шумное изображение и следовательно, имеет сравнительно высокое значение PSNR.
imshow(out.denoisedImage,[]);
title(['PSNR = ', num2str(out.psnr_denoised)]);