Понижение изображения без «танцующих» пикселей - PullRequest
1 голос
/ 08 июля 2011

Скажем, я хотел уменьшить изображение в реальном времени (1280x720) до очень малого масштаба (16x16) и не страдать от "танцующих" пикселей при перемещении изображения. Какой метод я бы использовал?

Это будет использовать графические процессоры XBox360 / PS3.

Обратите внимание, что изображение 16x16 должно содержать только очень обобщенное представление исходного изображения - почти как грубая оценка цвета.

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

Спасибо за любую помощь.

Ответы [ 2 ]

3 голосов
/ 08 июля 2011

Вы захотите использовать усреднение вместо понижения выборки.Например, установка для каждого пикселя среднего значения блока пикселей 80x45 даст вам изображение 16x16 из изображения 1280x720.Обратите внимание, что это изменит соотношение сторон ...

Я должен уточнить, что вам не обязательно усреднять весь блок - вы можете усреднить каждый второй пиксель в нем или что угодно.Но чем больше пикселей вы учитываете, тем точнее будет значение.Вы также можете использовать другие статистические показатели - режим или медианные значения по каналам также могут работать.

0 голосов
/ 08 июля 2011

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

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

...