Как построить график двухмерной функции Лапласа Гаусса (LoG) в MATLAB или python? - PullRequest
0 голосов
/ 27 февраля 2019

enter image description here

Здравствуйте.

Я пытаюсь сделать трехмерный график, аналогичный приведенному ниже, который иллюстрирует функцию двумерного лапласиана Гаусса (LoG).Как я могу сделать это через MATLAB или Python?Фрагменты кода были бы очень благодарны.

Я обнаружил, что мы можем построить гауссовский график, используя этот метод , но я ищу, как построить лапласиан гауссовского.

Ответы [ 2 ]

0 голосов
/ 27 февраля 2019

Используя del2, примененный к гауссову, получаем приближение к истинной функции Лапласа (оно использует дискретное приближение к производной).В этом нет необходимости, мы можем легко вычислить выражение для второй производной гауссиана и использовать его.

Сначала мы определим 1D гауссиан:

x = linspace(-4,4,41);
G = exp(-x.^2/2)/sqrt(2*pi);

Далее мы вычислим2-я производная от 1D Gaussian:

Gxx = G .* (x.^2-1);

У гауссиана есть замечательное свойство, заключающееся в том, что вы можете умножить две 1D функции вместе, чтобы получить 2D функцию.Таким образом,

data = G .* Gxx.';

является 2-й производной вдоль оси Y двумерного гауссиана.Транспонированное data является 2-й производной по оси X.

Лаплас определяется как сумма частных производных по каждой оси:

data = data + data.';

Построение этого приводит к (Я попытался воспроизвести точку зрения исходного графика также):

Laplace of Gaussian

Вот полный код:

x = linspace(-4,4,41);
G = exp(-x.^2/2)/sqrt(2*pi);
Gxx = G .* (x.^2-1);
data = G .* Gxx.';
data = data + data.';
surf(x,x,data,'facecolor','white')
view(45,13)
set(gca,'dataaspectratio',[1,1,0.08])
grid off
xlabel('X')
ylabel('Y')
0 голосов
/ 27 февраля 2019

Вы можете использовать дискретную функцию Лапласа del2:

N = 3;
x=linspace(-N, N,30);
[X,Y]=meshgrid(x,x);
z=del2((1000/sqrt(2*pi).*exp(-(X.^2/2)-(Y.^2/2))));
surf(X,Y,z);

Результаты:

enter image description here

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