Я хочу применить фильтр Габора к изображению из бумажных волокон. Я использовал функцию getGaborKernel, но она возвращает только реальную часть ядра. Мне нужно возвращать как сложные, так и реальные части, возможно, в виде пары значений для всего ядра.
Я нашел какое-то решение для этого, которое потребовало изменить файл gabor. cpp в opencv, например:
double v = scale*std::exp(ex*xr*xr + ey*yr*yr)*cos(cscale*xr + psi);
и добавив
double v2 = scale*std::exp(ex*xr*xr + ey*yr*yr)*sin(cscale*xr + psi);
Однако , это все еще генерирует 2 разных ядра (если мы возьмем v и v2). Поэтому я хотел знать, есть ли способ объединить эти 2 и вернуть объединенное ядро.