how to obtain rms error

8 views (last 30 days)
Mahua Nandy(Pal)
Mahua Nandy(Pal) on 11 Oct 2012
Commented: Image Analyst on 18 Jan 2020
Please tell me how to calculate the rms error in image registration?

Accepted Answer

Image Analyst
Image Analyst on 11 Oct 2012
Wouldn't it just go like this
difference = single(image1) - single(image2);
squaredError = difference .^ 2;
meanSquaredError = sum(squaredError(:)) / numel(image1);
rmsError = sqrt(meanSquaredError);
Of course you could compact that all into one line if you want.
  5 Comments
MAT-Magic
MAT-Magic on 18 Jan 2020
Edited: Image Analyst on 18 Jan 2020
@Image Analyst, can I use this formula for two vectors having same length?
difference = single(image1) - single(image2);
squaredError = difference .^ 2;
meanSquaredError = sum(squaredError(:)) / numel(image1);
rmsError = sqrt(meanSquaredError);
?
Image Analyst
Image Analyst on 18 Jan 2020
Yes, you can, but I'd use mean() instead of sum to simplify it:
differenceImage = single(image1) - single(image2);
squaredErrorImage = differenceImage .^ 2;
meanSquaredError = mean(squaredErrorImage(:)) % A scalar
rmsError = sqrt(meanSquaredError)
And if they're vectors of the same shape (row or column) then you don't even need the (:).

Sign in to comment.

More Answers (1)

Daniel Shub
Daniel Shub on 11 Oct 2012
Edited: Daniel Shub on 11 Oct 2012
Just to be a little bit difference. If you have the DSP system toolbox you can do
step(dsp.RMS('Dimension', 'all'), x)
where x is your error signal. So in the case of two imagines (image1 and image2)
image1 = randn(128);
image2 = randn(128);
x = image1-image2;
  6 Comments
Ishara Nipuni
Ishara Nipuni on 25 Jan 2019
I calculated the RMS value of my image registration algorithm by using your code. But I can't understand how to do a validation for my registration algorithm with th RMS value. Can you tell me please how can I com to conclusions about the accuracy of my registration algorithm with the use of RMS values?
Ishara Nipuni
Ishara Nipuni on 25 Jan 2019
I calculated the RMS value with getting the same image as image1 and image2. But the value was not zero. But I think that it should be zero. Can you please explain me about it?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!