Гауссова фильтрация матрицы вдоль 2 осей в Matlab - PullRequest
0 голосов
/ 09 января 2019

Я пытаюсь отфильтровать матрицу по Гауссу, но использую другую сигму для осей X и Y. Ось X представляет горизонтальные координаты и время оси Y, и поэтому я хочу отфильтровать их по-разному.

Фильтрация с одной сигмой, которую я могу сделать, но я не знаю, как фильтровать с двумя сигмами, специфичными для оси. Я использую imgaussfilt.

% example values
A = rand(6000,1921);
sigma_x = 10;
sigma_y = 20;
B = imgaussfilt(A,sigma_x);
B = double(B)/ max(B(:));
imshow(B)
colormap(jet)
colorbar

Буду рад любым идеям.

1 Ответ

0 голосов
/ 09 января 2019

Согласно документации , параметр sigma для imgaussfilt может быть вектором из 2 элементов:

A = rand(6000,1921);
sigma_x = 10;
sigma_y = 20;
B = imgaussfilt(A,[sigma_y,sigma_x]);
B = double(B)/ max(B(:));
imshow(B)
colormap(jet)
colorbar

Обратите внимание на порядок здесь: первый элемент указывает высоту фильтра, второй - ширина .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...