разница в размере изображения после операции уменьшения/увеличения масштаба с использованием imresize

Я изменил размер изображения с масштабом 0,25, а затем увеличил его, используя масштаб 4.

imageReduced = imresize(imageOriginal, 0.25, 'nearest');
imageGenerated = imresize(imageReduced, 4, 'nearest');

Я хочу рассчитать среднеквадратичную ошибку между imageOriginal и imageGenerated, поэтому они должны иметь одинаковые значения высоты x ширины. Но после операций даунскейла и апскейла размер изображения немного меняется из-за деления.

Например;

размер imageOriginal составляет 4811 x 6449, а размер imageGenerated составляет 4812 x 6452.

Как я могу выполнить операции уменьшения и увеличения масштаба, чтобы сделать imageGenerated того же размера, что и imageOriginal, чтобы вычислить среднеквадратичную ошибку между ними?


person Necip Onur Uzun    schedule 12.05.2013    source источник


Ответы (1)


imresize поддержка изменения размера с фиксированным количеством столбцов и строк: imresize(img, [rows, cols]). Вы можете использовать этот вариант функции для второго изменения размера.

imageReduced = imresize(imageOriginal, 0.25, 'nearest');
imageGenerated = imresize(imageReduced, size(imageOriginal), 'nearest');
person Danil Asotsky    schedule 12.05.2013