Я хочу сделать функцию для вычисления просеивающих дескрипторов, которая принимает на вход два аргумента, один — это изображение, а второй — вектор определенных точек изображения. На выходе будут строки из 128 размерных дескрипторов просеивания, где каждая строка соответствует дескриптору определенной точки на изображении. Для вычислений дескрипторов SIFT необходимо обрезать определенный участок вокруг ключевой точки (скажем, 32 x 32) и выполнить некоторую обработку изображения (гистограмму ориентаций и все такое). Мой вопрос здесь в том, как бороться с угловыми пикселями на изображении. например, если я дам местоположение пикселя (1,1) в качестве входных данных для функции, то как обрезать патч или как выполнить расчет дескриптора для такого местоположения на изображении??
Дескриптор SIFT для угловых пикселей изображения
Ответы (1)
Как отмечали другие в комментариях, при обработке изображений обычной практикой является зеркальное отражение изображения на границах, а иногда вы также можете добавлять нули на границах.
Если «вектор определенных точек», на который вы ссылаетесь, является «ключевыми точками», то вы можете использовать opencv
для извлечения функций SIFT, которые возвращают 128-мерный вектор признаков для каждой ключевой точки.
Вам не нужно самостоятельно явно вычислять дескрипторы SIFT, поскольку OPENCV
предоставляет для этого методы, как описано в дескрипторы SIFT
person
kmario23
schedule
30.10.2016
BORDER_REFLECT_101
. - person Miki   schedule 05.08.2015r
. Чем большеr
(зависит от функции), тем больше количество пикселей, которые теряют информацию в изображении. Например, дляr = 5
полоса5
пикселей вокруг границ изображения будет терять информацию при вычислении признаков. Чтобы решить это, существуют граничные условия, вы можете либо отразить, установить значение 0, либо обернуть изображение выходит за его пределы, но результат будет тот же — потеря информации. Таким образом, не слишком полагайтесь на особенности вблизи границ. - person Imanol Luengo   schedule 07.08.2015