我有以下代码用于将高斯滤波器应用于图像。据我了解,这是一个低通滤波器。现在我必须将其转换为高通滤波器,根据我们从指令中得知的内容,高斯低通滤波器和高通滤波器之间的一个区别是,对于高通,滤波器内核中元素的总和应该加起来为零,而不是像低通滤波器那样加起来。我该怎么做呢?
%%horizontal and vertical coordinates
coordinates = -floor(N/2) : floor(N/2);
[X Y] = meshgrid(coordinates, coordinates);
N = 12;
sigma=2;
gfilter = exp(-(X.^2 + Y.^2)/(2*sigma.^2));
gfilter = gfilter/sum(gfilter(:));
I = mean(double(imread('image.png')),3);
GaussBlur = conv2(I,gfilter);
%%plot images side by side
subplot(1,2,1);
imshow(I, []);
subplot(1,2,2);
imshow(GaussBlur, []);