Создайте предопределенный фильтр 2-D
возвращает вращательно симметричный Гауссов 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(:)))