0

Итак, я реализовал двулинейную интерполяцию, как в wiki, так и в других источниках, где они используют долю расстояния от соседних пикселей для вычисления их вкладов. Мои два вопроса:Почему билинейная интерполяция генерирует точное исходное изображение при расширении и сжатии по тому же самому фактору

  1. мои результаты не совпадают с реализацией MatLab от изменения размера, который использует би-линейная интерполяция
  2. я расширяю исходное изображение I_org для генерации I_expanded со шкалой с, я расширяю I_expanded с масштабом 1/s для генерации I_shrunk. Проблема в том, что I_org и I_shrunk всегда неизменно одинаковы, я ожидал, что по крайней мере некоторые пиксели будут отличаться.

link to source

original

expanded

shrunk

Теперь исходное изображение и изображение, сокращенное всегда то же самое, я ожидал, что из-за расширения и сокращения Усадка изображение будет немного отличается от оригинала.

Моя реализация в основе на слайде 96, slide 96

+1

Пожалуйста, добавьте [mcve] трески, полученные результаты и желаемые результаты здесь. – Adriaan

ответ

2

Если увеличить и уменьшить разрешение по степеням 2 (x2 x4 x8 ...), то, скорее всего, вы получите такое же изображение. Это связано с тем, что вы эффективно выполняете пирамидальное масштабирование (обратите внимание, что real pyramidal scaling имеет шаг размытия перед повторной выборкой)

Попробуйте вместо x4 масштабирования (как в размещенных изображениях) выполнить шкалу 3,5 (или любой другой немощностью двух шкал). Тогда, скорее всего, вы получите разные результаты.

+0

Вы на месте, можете ли вы направить меня на какую-то ссылку, где я могу это понять более подробно? – idexi

Смежные вопросы