how can i calculate MSE and PSNR of RGB color image

8 次查看(过去 30 天)
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

采纳的回答

B.k Sumedha
B.k Sumedha 2015-5-21
编辑:B.k Sumedha 2015-6-16
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 个评论
siva shangari
siva shangari 2020-7-16
@Image Analyst... how to compute mean and variance for each channel?
Walter Roberson
Walter Roberson 2020-7-17
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])

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by