Работа с граничными условиями / областями Halo в CUDA

Я работаю над обработкой изображений с помощью CUDA и сомневаюсь в обработке пикселей.

Что часто делается с граничными пикселями изображения при применении фильтра свертки mxm ?

В ядре свертки 3 x 3 , игнорируя 1 Пиксельная граница изображения легче обрабатывать, особенно когда код улучшен с помощью общей памяти. Действительно, в этом случае нет необходимости проверять, имеет ли данный пиксель все доступные окрестности (т.е. пиксель в координате (0, 0) не имеет левых, левых-верхних, верхних соседей). Однако удаление границы 1 пикселя исходного изображения может привести к частичным результатам.

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

Что обычно делается в этом случае?

Кто-нибудь обычно использует мой подход, игнорируя граничные пиксели?

Конечно, я знаю, что ответ зависит от типа проблемы, т.е. Добавление двух изображений по пикселям не имеет этой проблемы.

Заранее благодарим.

6
задан JackOLantern 2 September 2015 в 08:53
поделиться