how can i calculate rmse ?

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?

 Respuesta aceptada

Image Analyst
Image Analyst el 26 de Jun. de 2016

0 votos

Use the immse() function in the Image Processing Toolbox.

Más respuestas (1)

Muhammad Usman Saleem
Muhammad Usman Saleem el 19 de Jun. de 2016
Editada: Muhammad Usman Saleem el 19 de Jun. de 2016

0 votos

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 comentarios

John D'Errico
John D'Errico el 19 de Jun. de 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.
Muhammad Usman Saleem
Muhammad Usman Saleem el 28 de Jun. de 2016
has corrected now

Iniciar sesión para comentar.

Categorías

Más información sobre Image Processing Toolbox en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 19 de Jun. de 2016

Comentada:

el 28 de Jun. de 2016

Community Treasure Hunt

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

Start Hunting!

Translated by