This example shows how to compare the quality of a noisy and denoised image from the PSNR value computed using the PSNR
block.
Read an image into the MATLAB workspace.
I = imread('cameraman.tif');
Read the corresponding noisy image into the MATLAB workspace.
noisyI = imread('noisyCameraman.tif');
Open the Simulink model. The model reads the original and the noisy images from the MATLAB workspace and denoises the noisy image by using the Median
Filter
block.
modelname='ex_blkpsnr.slx';
open_system(modelname);
The model computes the PSNR value for the noisy and the denoised image with respect to the original image and outputs as variables named psnr_noisy
and psnr_denoised
respectively. The denoised image and the computed PSNR values are exported to the MATLAB workspace.
Simulate the model.
out = sim(modelname);
Display the noisy image and the corresponding PSNR value
imshow(noisyI,[]);
title(['PSNR = ', num2str(out.psnr_noisy)]);
Display the denoised image and the corresponding PSNR value. The denoised image is of better perceptual quality than the noisy image and hence, has comparatively high PSNR value.
imshow(out.denoisedImage,[]);
title(['PSNR = ', num2str(out.psnr_denoised)]);