Создайте предопределенный 2D фильтр
h = fspecial(type)h = fspecial('average',hsize)h = fspecial('disk',radius)h = fspecial('gaussian',hsize,sigma)h = fspecial('laplacian',alpha)h = fspecial('log',hsize,sigma)h = fspecial('motion',len,theta)h = fspecial('prewitt')h = fspecial('sobel') возвращает вращательно симметричный Гауссов lowpass фильтр размера 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))
Гауссовы фильтры:
Лапласовы фильтры:
Фильтры Лапласиана гауссовых (LoG):
Обратите внимание на то, что fspecial переключает уравнение, чтобы гарантировать, что сумма всех элементов ядра является нулем (подобный ядру Лапласа) так, чтобы результатом свертки гомогенных областей всегда был нуль.
Фильтры движения:
Создайте идеальный линейный сегмент с длиной и углом, заданным аргументами len и theta, сосредоточенными в центральном коэффициенте h.
Для каждого содействующего местоположения (i,j) вычислите самое близкое расстояние между тем местоположением и идеальным линейным сегментом.
h = max(1 - nearest_distance, 0);
Нормируйте h: h = h/(sum(h(:)))
conv2 | del2 | edge | filter2 | fsamp2 | fspecial3 | fwind1 | fwind2 | imfilter | imsharpen