MATLAB: How can i calculate MSE and PSNR of RGB color image

digital image processingImage Processing Toolboxmsepsnrwatermark

i embeded a watermark in RGB color image now i want to calculate PSNR and MSE of original and watermarked images . how can i find PSNR and MSE of original and watermarked images

Best Answer

clc;
[filename1,pathname]=uigetfile('*.*','Select the original image');
image1=imread(num2str(filename1));
[filename2,pathname]=uigetfile('*.*','Select the watermarked image');
image2=imread(num2str(filename2));
figure(1);
imshow(image1); title('Original image');
figure(2);
imshow(image2); title('Watermarked image');
[row,col] = size(image1)
size_host = row*col;
o_double = double(image1);
w_double = double(image2);
s=0;
for j = 1:size_host; % the size of the original image
s = s+(w_double(j) - o_double(j))^2 ;
end
mes=s/size_host;
psnr =10*log10((255)^2/mes);
display 'Value of',psnr