Есть ли способ выполнять пользовательские операции с изображением с заданным соседством?
Например, я определил две функции fmax = @(x)max(x(:)) и fmin = @(x)min(x(:)) для вычисления градиента изображения в оттенках серого I следующим образом:
G = nlfilter(I,[3 3],fmax) - nlfilter(I,[3 3],fmin);
Однако я хотел бы сделать то же самое с 4-окрестностью вместо 8-окрестности, определенной в скользящем блоке 3 на 3, аналогично элементам структурирования, которые используются в морфологической математике.
Идея этого теста заключается в применении пользовательской функции к пикселю и заданной окрестности с радиусом r.
Обратите внимание, что меня интересует применение пользовательских функций. Градиент — это просто пример.