Сравните качество изображения Используя PSNR

В этом примере показано, как сравнить качество шумного, и 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)]);

Для просмотра документации необходимо авторизоваться на сайте