2010-10-20 3 views
4

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

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

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

ответ

2

Возможно, и можно утверждать, что большинство схем сжатия изображений с потерями от JPEG-style DCT stuff до fractal compression по существу делают это по-своему.

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

Вам нужно будет определить, что составляет «большую часть детали исходного изображения», поскольку идеальное восстановление возможно только для довольно надуманных изображений. И вам также нужно будет указать точную форму масштабирования, которая будет использоваться по-любому, поскольку это оказало бы существенное влияние на качество восстановления. Например, простое повторение пикселей лучше сохранить жесткие края, но разрушить плавные градиенты, в то время как линейная интерполяция должна лучше воспроизводить градиенты, но может нанести ущерб краям.

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

+0

Спасибо за анализ. Существует сложность как в масштабировании, так и в масштабировании по алгоритмам. Я полагаю, что бикубик может быть достойным общим выбором для уменьшения масштаба? Для масштабирования я понял, что, вероятно, будет использоваться какая-то интерполяция, возможно бикубическая? –

+0

Что касается подхода, который вы предлагаете, похоже на то, о чем я думал, после того, как я сделал сообщение. Это было бы похоже на создание низкочастотного фильтра с понижающим выборкой, в котором коэффициенты фильтра/разрешение повторной дискретизации будут основаны на том, чтобы смотреть, где мощность падает на более низких частотах. (ack, продолжайте нажимать enter, чтобы сделать новую строку и в конечном итоге сохранить комментарий) –

+0

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

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