Hi,
The change in the value of peaksnr and error is due the probabilistic nature of the imnoise function to add noise into the image.
To add 'salt & pepper' noise with density d to an image, imnoise first assigns each pixel a random probability value from a standard uniform distribution on the open interval (0, 1).
- For pixels with probability value in the range (0, d/2), the pixel value is set to 0. The number of pixels that are set to 0 is approximately d*numel(I)/2.
- For pixels with probability value in the range [d/2, d), the pixel value is set to the maximum value of the image data type. The number of pixels that are set to the maximum value is approximately d*numel(I)/2.
- For pixels with probability value in the range [d, 1), the pixel value is unchanged.