Расчет MSE (среднеквадратичная ошибка)

Я не уверен, что это правильное место, чтобы спросить об этом, но где можно найти пошаговое руководство о том, как вычислить MSE двух изображений?

Я знаю, что такое формула, но я понятия не имею, как применить ее на практике.


person Brian Byrne    schedule 01.03.2012    source источник
comment
Какой-то конкретный язык программирования?   -  person Paul R    schedule 02.03.2012
comment
Может быть, опубликуйте то, что у вас есть в качестве формулы ...   -  person Chris A.    schedule 02.03.2012
comment
Ява? Я только что получил форум из википедии. en.wikipedia.org/wiki/Mean_squared_error Это не поможет, как вы думаете. Если вы опубликуете это на Java, могу ли я получить четкое объяснение того, что происходит? Я был бы очень признателен, большое спасибо.   -  person Brian Byrne    schedule 02.03.2012
comment
ОК, я добавил для вас тег java.   -  person Paul R    schedule 02.03.2012


Ответы (1)


В C вы можете сделать что-то вроде этого:

int sum_sq = 0;
double mse;

for (i = 0; i < h; ++i)
{
    for (j = 0; j < w; ++j)
    {
        int p1 = image1[i][j];
        int p2 = image2[i][j];
        int err = p2 - p1;
        sum_sq += (err * err);
    }
}
mse = (double)sum_sq / (h * w);
person Paul R    schedule 01.03.2012
comment
Вы можете сделать это на Java? А можно прокомментировать? Я был бы очень признателен за помощь. - person Brian Byrne; 02.03.2012
comment
Кроме того, если два изображения имеют одинаковый размер, как именно он вычисляет ошибку? - person Brian Byrne; 02.03.2012
comment
Java должен быть почти идентичен приведенному выше примеру C. Что касается MSE, существует более одной возможной интерпретации вашего вопроса, но я предполагаю, что два изображения похожи, например. один является исходным, а другой - исходным + шум, и вы хотите вычислить MSE = среднеквадратичную разницу между ними? - person Paul R; 02.03.2012
comment
Какими параметрами я его кормлю? - person Brian Byrne; 02.03.2012
comment
Там нет никаких параметров - w и h - это просто размеры изображения (ширина и высота) - приведенный выше код суммирует квадраты соответствующих различий в пикселях и делит на общее количество пикселей в изображении, чтобы получить среднеквадратичную ошибку. - person Paul R; 02.03.2012