При реализации технологии вырезания изображений, функция imtransform заполняет оранжевыми треугольниками места, где нет данных. Известно пять модификаций рассматриваемого метода. При этом используется пять различных параметров ('fill', 'replicate', 'bound', 'circular' и 'symmetric'). Проведем сравнительный анализ первых трех параметров.
Первая опция 'fill' вместе с опциями 'XData' и 'YData' используется в функции imtransform для принудительной установки фона вокруг изображения.
Bf=imtransform(A, T, makeresampler({'cubic', 'nearest'},... 'fill'), 'XData', [-49 500], 'YData',... [-49 400], 'FillValues', orange);figure, imshow(Bf);title('Pad Method=''fill''');
При использовании второй опции 'replicate' нет необходимости в заполнении пространства вокруг исходного изображения.
Br=imtransform(A, T, makeresampler({'cubic', 'nearest'},... 'replicate'), 'XData', [-49 500], 'YData',... [-49 400]);figure, imshow(Br);title('Pad Method=''replicate''');
Теперь рассмотрим применение третьей опции 'bound'.
Bb=imtransform(A, T, makeresampler({'cubic', 'nearest'},... 'bound'), 'XData', [-49 500], 'YData',... [-49 400], 'FillValues', orange);figure, imshow(Bb);title('Pad Method=''bound''');
Результаты обработки исходного изображения с помощью исследуемого метода при установке опций 'fill' и 'bound' являются очень похожими. Разница состоит в том, что при использовании опции 'bound' при обработке используется кубическая интерполяция и результирующее изображение получается немного размытым. Рассмотрим этот момент более детально и проанализируем результаты обработки с использованием двух опций ('fill' и 'bound') на элементном уровне.
Cf=imtransform(A, T, makeresampler({'cubic', 'nearest'},... 'fill'), 'XData', [423 439], 'YData',... [245 260], 'FillValues', orange);Cb=imtransform(A, T, makeresampler({'cubic', 'nearest'},... 'bound'), 'XData', [423 439], 'YData',... [245 260], 'FillValues', orange);Cf=imresize(Cf, 12, 'nearest');Cb=imresize(Cb, 12, 'nearest');figure;subplot(1, 2, 1); imshow(Cf); title('Pad Method=''fill''');subplot(1, 2, 2); imshow(Cb); title('Pad Method=''bound''');






