function [MSE,PSNR]=mserrorrgb(imgo, imgc) % The function takes two equal images and calculates the mean square % difference inbetween the two. % Usage: MSE = MSERROR(A, B, NSIZE); % where A: first image % B: second image % NSIZE: size of the images img1=double(imread(imgo,'bmp')); img2=double(imread(imgc,'bmp')); Rimg=img1(:,:,1); Gimg=img1(:,:,2); Bimg=img1(:,:,3); RCimg=img2(:,:,1); GCimg=img2(:,:,2); BCimg=img2(:,:,3); clear img1; clear img2; diff = Rimg - RCimg; diff_sq = diff .^ 2; mse_clmn = mean(diff_sq); mseR = mean(mse_clmn); psnrR=(255*255)/mseR; diff = Gimg - GCimg; diff_sq = diff .^ 2; mse_clmn = mean(diff_sq); mseG = mean(mse_clmn); psnrG=(255*255)/mseG; diff = Bimg - BCimg; diff_sq = diff .^ 2; mse_clmn = mean(diff_sq); mseB = mean(mse_clmn); psnrB=(255*255)/mseB; PSNR=(psnrR+psnrG+psnrB)./3; MSE=(mseR+mseG+mseB)./3;