Команда imresize
по умолчанию будет использовать метод bicubic
. В качестве альтернативы вы можете указать один из нескольких других встроенных методов интерполяции или ядра, например
imNewSize = imresize(imOldSize, sizeFactor, 'box')
для коробчатого ядра. Если вы хотите указать свое собственное ядро, вы можете передать его как дескриптор функции вместе с шириной ядра в массиве ячеек. Например, чтобы реализовать ядро в форме коробки (без использования встроенного) с шириной ядра 4, попробуйте:
boxKernel = @(x)(-0.5 <= x) & (x < 0.5);
imNewSize = imresize(imOldSize, sizeFactor, {boxKernel, 4});
Если вы наберете edit imresize
и загляните внутрь функции, примерно из строки 893 вы сможете найти реализации других встроенных ядер, которые могут дать вам некоторые советы о том, как вы можете реализовать свое собственное.