Как стать автором
Обновить

Комментарии 11

При уменьшении размера с фактором, например 7/8 или 2/3, данный метод даст очень сильный алиасинг. Но в принципе, сохранение интеграла(как у Вас) — это неплохой метод. Когда пихелей много и данные уже отфильтрованы по Найквисту, лучшие методы (ИМХО): сдвиг — в Фурье пространстве и поворот — в Радоне(тоже через Фурье).

Изображения реального мира практически никогда не ограничены по частотам. И работа с коэффциентами масштабирования, близкими к единице — это боль. Самый лучший способ масштабирования в данном случае — это увеличение в 2 раза нейросеткой, а затем уменьшение с нужным коэффициентом.

Все зависит от задачи. Суньте нейросетку в телефон, только потом не удивляйтесь почему он батарейку за час сажает. А если изображения с томографа или просто x ray медицинский то и просто нельзя нейросетку ставить(и вот тут как раз пихели уже лимитированы по частоте )

Вижу здесь несколько заблуждений:


  1. Пиксели квадратные.
  2. Значение пикселя равно суммарной интенсивности света, попавшего на пиксель.
  3. Пиксели все одинаковые.

На самом же деле:


  1. Не существует RGB-пикселей, перед каждым пикселем в матрице стоит светофильтр (обычно красный, зелёный или синий). То есть в каждом пикселе у нас есть R, G или B (иногда Y), но не RGB. Изображение с RGB-пикселями затем восстанавливается программными методами.


  2. Перед каждым пикселем матрицы находится микролинза, фокусирующая свет в центре пикселя. Дополнительно перед этим хозяйством размещается матовая плёнка, основной смысл которой — немного подразмыть изображение, чтобы устранить алиасинг.


  3. Реальный PSF пикселя близок к функции Гаусса, а не к индикаторной функции для квадрата.



Ну и насчёт суперсэмплинга: его смысл — построение промежуточного изображения в более высоком разрешении. Как это применяется для масштабирования и поворота: сначала увеличиваем очень хорошим алгоритмом изображение в 2-4 раза, затем делаем преобразования, затем качественно уменьшаем в 2-4 раза.

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

Ну да, любое ядро превращается в гауссиан. (Central limit theorem)
Соответственно свертка и дельта функции и квадрата с гауссианом все равно дадут гауссиан.

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


И PSF пикселя таки довольно близка к прямоугольному импульсу. Вот PSF оптоэлектронной системы в целом уже ближе в Гауссу.

Ну так это надо сразу оговаривать. Специфика задачи же накладывает свои ограничения.


Автор же работает со спутниковыми снимками, где конструкция камеры может сильно отличаться.

Примеры изображений больше похожи на аэрофотосъёмку — там используются обычные матрицы. А вот в спутниках — да, возможна экзотика.


И PSF пикселя таки довольно близка к прямоугольному импульсу. Вот PSF оптоэлектронной системы в целом уже ближе в Гауссу.

Ну так нас система в целом и интересует. Я по работе немного заморачивался с вычислением PSF камер (правда, в мобильниках) — везде ядро получалось радиально-симметричным.

Примеры изображений больше похожи на аэрофотосъёмку — там используются обычные матрицы.

Да, действительно. Я подумал что это просто произвольные примеры из интернета. Но возможно автор действительно имеет дело в аэрофотосъёмкой.

Аэрофотосъёмку я показать не могу, у меня к ней нет даже доступа, моя задача была только в написании функций. Здесь представлены просто картинки из интернета, в качестве примера.

Позвольте я тут глупый вопрос задам? Почему нельзя было найти готовое решение, а нужно было именно своё?

Меня попросили — я сделал. Может быть где-то и есть готовое решение именно для метода суперсемплинга, но ни я, ни мои коллеги его не нашли. Готовые методы, которые можно сравнительно легко найти с открытым кодом, ориентированы на человеческое зрение и вносят в изображение специфические искажения, которых заказчик хотел избежать. Здесь же постобработка (векторизация) проводилась машиной, поэтому некоторая размытость изображения после трансформации (а это, в сущности, единственное искажение, вносимое алгоритмом) не критична.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории