how can i calculate MSE and PSNR of RGB color image

79 views (last 30 days)
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
  2 Comments
siva shangari
siva shangari on 16 Jul 2020
how to compute mean and variance for each channel?

Sign in to comment.

Accepted Answer

B.k Sumedha
B.k Sumedha on 21 May 2015
Edited: B.k Sumedha on 16 Jun 2015
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
  12 Comments
Walter Roberson
Walter Roberson on 17 Jul 2020
mean(YourSignal,2) %mean over columns
var(YourSignal, [], 2) %variance over columns
If "channel" means color pane in this case, then
mean(YourSignal, [1 2])
var(YourSignal, [], [1 2])

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!