Создать предопределенный фильтр 2-D
возвращает вращательно симметричный фильтр нижних частот Гаусса размера h = fspecial('gaussian',hsize,sigma)hsize со стандартным отклонением sigma. Не рекомендуется. Использовать imgaussfilt или imgaussfilt3 вместо этого.
возвращает фильтр для аппроксимации линейного движения камеры, свернутого с изображением. h = fspecial('motion',len,theta)len определяет длину движения и theta задает угол движения в градусах в направлении против часовой стрелки. Фильтр становится вектором для горизонтальных и вертикальных движений. Дефолт len является 9 и значение по умолчанию theta является 0, что соответствует горизонтальному движению в девять пикселей.
возвращает фильтр 3 на 3, который подчеркивает горизонтальные ребра путем аппроксимации вертикального градиента. Чтобы подчеркнуть вертикальные края, транспонируйте фильтр h = fspecial('prewitt')h'.
[ 1 1 1 0 0 0 -1 -1 -1 ]
возвращает фильтр 3 на 3, который подчеркивает горизонтальные ребра с помощью эффекта сглаживания, аппроксимируя вертикальный градиент. Чтобы подчеркнуть вертикальные края, транспонируйте фильтр h = fspecial('sobel')h'.
[ 1 2 1 0 0 0 -1 -2 -1 ]
Фильтры усреднения:
ones(n(1),n(2))/(n(1)*n(2))
Гауссовы фильтры:
n22) 2start2
∑n1∑n2hg
Лапласианские фильтры:
Лапласианские гауссовы (LoG) фильтры:
n22) 2start2
) σ4∑n1∑n2hg
Обратите внимание, что fspecial сдвигает уравнение, чтобы гарантировать, что сумма всех элементов ядра равна нулю (аналогично ядру Лапласа), так что результат свертки однородных областей всегда равен нулю.
Фильтры движения:
Построение идеального отрезка с длиной и углом, заданными аргументами len и theta, с центром по центральному коэффициенту h.
Для каждого местоположения коэффициента (i,j)вычислите ближайшее расстояние между этим местоположением и идеальным отрезком линии.
h = max(1 - nearest_distance,0);
Нормализовать h: h = h/(sum(h(:)))