Улучшает ли уменьшение увеличенного изображения его качество (с точки зрения размытия)?

Взгляните на следующие диаграммы:

Исходное изображение:

Исходное изображение

Увеличенное (2x, билинейное) изображение:

введите описание изображения здесь

В обоих случаях первый элемент в первой строке является входным изображением. Рядом с ним находится его 2d fft. Под ним находится уменьшенная версия изображения и его 2d fft. Обратите внимание на разницу в амплитуде спектра в обоих случаях. Если в первом случае ничего не меняется, то во втором спектр действительно улучшается (изначально он был слабее) — я имею в виду, что по углам прибавляется «веса».

Это какое-то известное свойство? Должен ли я ожидать, что увеличенное изображение будет более четким при его уменьшении?

Должно ли fft быть чем-то общеизвестным? Я никогда не слышал этого термина в фотографии.
быстрое преобразование Фурье. я полагаю, это лучше подходит для graphics.stackexchange.com

Ответы (1)

В обоих случаях размытие будет уменьшено, просто во втором случае вы можете увидеть этот эффект более четко по спектру мощности в k-пространстве. В общем, при уменьшении масштаба вы не только уменьшите размытие, но и потеряете мелкие детали (поскольку вы сохраняете размер пикселя одинаковым, все, что становится меньше одного пикселя, исчезает из поля зрения, поглощаясь значением серого). этого пикселя). Таким образом, вы не просто масштабируете, вы также усредняете мельчайшие детали.

Если бы вы только масштабировали, то ширина спектра мощности соответственно увеличилась бы. Это именно то, что происходит в случае с изображением, полученным путем предварительного масштабирования изображения, поскольку в этом случае вы не добавляете новых деталей в самом мелком масштабе.

Спасибо за подробное объяснение! Итак, есть ли способ использовать это явление, чтобы определить, был ли изменен размер изображения или нет? Я имею в виду, что это дает довольно хорошие результаты, если я использую исходное изображение в качестве входных данных и его увеличенную версию. Что меня беспокоит, так это то, что эти две картинки не одного размера. Если я сначала увеличу фотографию, а затем уменьшу ее, алгоритм больше не работает. Или, может быть, мне следует использовать какую-то разность гауссианов, энтропию или что-то еще...? Я застрял.
Вы можете вычислить функцию корреляции между соседними пикселями. Вы можете сделать это напрямую, вы также можете извлечь их из спектра мощности. Преобразование Фурье спектра мощности дает вам функцию автокорреляции. Затем, если изображение было увеличено с помощью интерполяции, вы должны найти сильную корреляцию между соседними пикселями. Обратите внимание, что все изображения масштабируются из-за демозаики, что приводит к корреляции ближайших и следующих ближайших соседей. Но на расстоянии в два пикселя корреляция должна быть очень маленькой, если только не было выполнено большее масштабирование.
Звучит здорово! Но есть ли способ сделать это более относительным? Я имею в виду независимо от размера и типа изображения. В идеале это значение должно быть отрицательным для немасштабированного и положительным для масштабированного. Мой нынешний подход был основан на простом факте, что в увеличенном изображении в спектре меньше высоких частот... но если пиксели взаимосвязаны, это похоже на то, да? Чем это лучше, чем просто анализ спектра? Я имею в виду, я надеюсь, что это так, но я хотел бы быть уверен :). Этот метод должен быть разным для каждого типа масштабирования (билинейный, ближайший, Ланцоша и т. д.)?
Теоретический спектр, когда вы начинаете с белого шума (который имеет однородный спектр мощности), а затем применяете масштабирование с использованием определенного метода интерполяции, должно быть легко вычислено. Я могу посмотреть на это...
Начать с белого шума — очень хорошая идея! Я имею в виду, что любые изменения в спектре после изменения размера изображения должны быть хорошо видны. Я тоже попробую.