Какая интерполяция лучше всего подходит для поворота изображения? - PullRequest
8 голосов
/ 24 января 2011

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

На данный момент у меня есть GIMP 2.6 с интерполяциями Cubic и Sinc (Lanczos3) для поворота изображения. Я не уверен, какой из них лучше и вводит меньше артефактов? Каковы его недостатки, если таковые имеются?

Кроме того, существует ли какое-либо другое программное обеспечение (например, плагин для фотошопа или gimp) или какой-либо скрипт для Matlab, который может обеспечить почти идеальное вращение изображения (например, с помощью лучшего алгоритма интерполяции, чем те, что доступны в GIMP)?

Большое спасибо заранее.

Ответы [ 2 ]

6 голосов
/ 24 января 2011

Я помню, что сравнивал разные алгоритмы интерполяции, которые были довольно умными - изображение несколько раз поворачивалось на фиксированный угол, пока оно не повернулось назад на 360 градусов.Любые артефакты или размытие были сразу очевидны, и изображение можно было напрямую сравнить с оригиналом. Редактировать: Найдена ссылка - http://www.all -in-one.ee / ~ dersch / interpolator / interpolator.html

Пожалуйста, не думайте, что Ланцоштак же, как Синк - они связаны, но Ланцош обменивает некоторую точность на простоту вычислений.

3 голосов
/ 24 января 2011

Другой подход к повороту изображения заключается в применении двух операций сдвига. См. Подробности в «Алгоритме быстрого растрового вращения» Алана У. Паэта (его можно найти в популярной книге «Графика, драгоценные камни I» в главе 3, часть 6, или здесь ) , Насколько я понимаю, этот метод дает очень четкие изображения.

ImageMagick's -rotate реализован таким образом. Таким образом, вы можете сравнить его результаты с методом прямого вращения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...