2015-05-29 2 views
0

Я хочу вычислить гистограмму ориентированного градиента на моем изображении. Но я не хочу разделить изображение на обычные квадратные блоки. Я собираюсь разделить изображение на однородные лог-поляризационные бункеры (например, бункеры в контексте формы или такие как here), а затем на каждом бункере (блок) вычисляется гистограмма градиента с 8 ориентацией.вычисление Гистограмма ориентированных градиентов на логарифмических полюсных ячейках

Но 1) Я не знаю, как разделить изображение на журналы полярных бункеров. Можно ли использовать контекст формы? Или даже вышеупомянутая ссылка для разбиения на эти ячейки?

2) как я могу вычислить HOG на этом ящике, так как доступные коды (в Matlab, OpenCV и EmguCV) используют квадратные ящики? Понятия не имею.

ответ

1

То, что вы описываете, звучит очень похоже на функции C-HOG (круговая HOG) в original HOG paper. Единственное отличие от типичного свиньи - это форма бункеров. Я думаю, что было бы лучше:

  • перебрать пиксели
  • вычислить круговой номер ячейки для каждого пикселя
  • добавить вклад градиента на пиксел на гистограмму, соответствующий номер ячейки

хорошая отправная точка будет псевдо-Matlab-код в этом ответе: https://stackoverflow.com/a/10115112/1576602

+0

Большого спасибо @Andrzej ваш ответ полезно для меня. Я работаю над этим ;-) – EYx

+0

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

+0

Нет, к сожалению, я не знаю никакого существующего кода, но, пожалуйста, см. Мой совет и ссылку, которую я отправил. Я уверен, что с внедрением стандартной HOG и этим вы сможете это понять. –

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