how can i calculate rmse ?
    5 views (last 30 days)
  
       Show older comments
    
    nadia
 on 19 Jun 2016
  
    
    
    
    
    Commented: Muhammad Usman Saleem
      
 on 28 Jun 2016
            Hi, I want to calculate rmse without using for loops between 2 images. this should produce a number not a matrix. can you help me?
Accepted Answer
More Answers (1)
  Muhammad Usman Saleem
      
 on 19 Jun 2016
        
      Edited: Muhammad Usman Saleem
      
 on 19 Jun 2016
  
      if you upload your images, batter for me to make a code then. Try this prototype
in order to calculate some RMS error for your images, you require two points
(1) YourOrginalimaege
(2) Extimatedimage
YourOrginalimage=imread('imageA.tif');
Extimatedimage=imread('imageB.tif');
Then you can calculate RMS error as
RMS=sqrt(sum(YourOrginalimage (:)-Extimatedimage (:))^2/N) % thanks to John
where N may be total no of samples in YourOrginalimage
Check it and tell me?
2 Comments
  John D'Errico
      
      
 on 19 Jun 2016
				Um, NO!
You need to square those differences before the sum. In your formula, there is no square operation at all.
As importantly, if the image arrays are stored as uint8, the computation you propose will fail completely. Those image values must first be assured to be doubles before any such computation.
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


