ImageResize
Функция Mathematica поддерживает множество методов повторной выборки .
Не будучи знакомым с этой областью, за пределами ближайшего соседа, билинейного, биквадратичного и бикубического (что очевидно из названия), я заблудился.
Можете ли вы указать мне какой-либо источник, который объяснит основные (математические) различия между этими методами, и, в частности, укажет на практические различия (например, путем демонстрации образцов изображений, где выбор метода действительно имеет значение и вносит заметные различия)?
У меня нет фона для обработки сигналов, поэтому я бы предпочел «нежное» и краткое введение :-)
Я скопирую здесь список ImageResize
методов для тех, кто "ленивый" нажимает на ссылку:
"Ближайший" ближайший сосед пересчитывает
"Билинейная" билинейная интерполяция
«Биквадратичная» биквадратичная сплайн-интерполяция
«Бикубическая» бикубическая сплайн-интерполяция
"Гауссовская" Гауссовая повторная выборка
"Lanczos" Метод многомерной интерполяции Lanczos
"Косинус" косинус интерполяция
Интерполяция Хэмминга с приподнятым косинусом
"Ганн" поднял косинус Ганн интерполяция
"Blackman" трехчленный обобщенный приподнятый косинус
Интерполяция треугольных окон "Бартлетт"
"Конн" в квадрате Уэлча
"Уэлч" Уэлч квадратичная интерполяция
"Parzen" кусочно-кубическая интерполяция
«Кайзер» модифицированная бесселева интерполяция нулевого порядка
источник
Ответы:
Для данного изображения с m , n целыми числами интерполяция этого изображения в любой произвольной точке m ′ , n ′ может быть записана какя( м , н ) м , н м', н'
Как и в случае оконных функций для временных сигналов, легко понять суть того, что делает ядро с интерполяцией изображений, взглянув на его частотную характеристику. Из моего ответа на оконные функции :
Это в значительной степени справедливо для интерполяционных ядер. Выбор в основном является компромиссом между частотной фильтрацией (ослабление боковых лепестков), пространственной локализацией (шириной основного лепестка) и уменьшением других эффектов, таких как звон (эффект Гиббса), сглаживание, размытие и т. Д. Например, ядро с колебаниями, такими как так как ядро sinc и ядро Lanczos4 будут вводить «звон» на изображении, тогда как пересчет Гаусса не будет вызывать звон.
Вот упрощенный пример в Mathematica, который позволяет увидеть влияние различных интерполяционных функций:
true
small
Вы можете убедиться, что разные интерполяционные функции имеют разные эффекты. Ближайшие и некоторые другие имеют очень грубые функции, и вы можете по существу видеть неровные линии (см. Полноразмерное изображение, а не отображение сетки). Бикубическая, биквадратичная и парценовская системы преодолевают это, но создают много размытия. Из всех ядер Lanczos кажется (визуально) наиболее привлекательным и лучшим из всех.
Я постараюсь расширить этот ответ и привести более интуитивные примеры, демонстрирующие различия, когда у меня есть время. Возможно, вы захотите прочитать эту довольно простую и информативную статью, которую я нашел в Интернете (предупреждение в формате PDF).
источник