Как сделать гауссовскую фильтрацию в 3D - PullRequest
9 голосов
/ 22 марта 2012

Как мне сделать сглаживание Гаусси в 3-м измерении?

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

Detection Pyramid

Я уже сглаживал каждый из них в 2d и читал в своих статьях, что мне нужно отфильтровать третье измерение с \ sigma = 1, которое я раньше не пробовал, я даже не уверен, что это значит.

Я понял, как это сделать в Matlab, и мне нужно что-то похожее в opencv / c ++.

Matlab Raw Values: Raw Matlab Smoothen с M0 = smooth3 (M0, «гауссовский»); : Smooth

Ответы [ 2 ]

2 голосов
/ 18 ноября 2012

Гауссовские фильтры отделимы.1D-фильтр применяется к каждому измерению следующим образом:

for (dim = 0; dim < D; dim++)
    tensor = gaussian_filter(tensor, dim);

Я бы порекомендовал OpenCV для реализации гауссова фильтра (и обработки изображений в целом) в C ++.

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

2 голосов
/ 02 мая 2012

Давным-давно (в 2008-2009 гг.) Я разработал небольшую библиотеку шаблонов C ++ для применения некоторых простых преобразований и фильтров свертки.Исходный код библиотеки можно найти в Linderdaum Engine - он не имеет ничего общего с остальной частью движка и не использует никаких функций движка.Лицензия MIT, поэтому делайте с ней все, что хотите.

Посмотрите исходный код Линдераума (http://www.linderdaum.com) на Src / Linderdaum / Images / VolumeLib. *

Функция для подготовки ядра - PrepareGaussianFilter (), а фильтр MakeScalarVolumeConvolution () применяет фильтр. Библиотеку легко адаптировать для разных источников данных, поскольку ввод / вывод реализован с использованием функций обратного вызова.

...