用D=40的高斯高通滤波器对图片进行高频强调滤波,用matlab实现
时间: 2024-05-27 09:15:04 浏览: 189
gaussia.rar_高斯高通滤波
以下是使用MATLAB实现高斯高通滤波器进行高频强调滤波的示例代码:
% 读取图片
img = imread('test.jpg');
% 转化为灰度图
grayImg = rgb2gray(img);
% 高斯高通滤波器
D = 40;
h = fspecial('gaussian', size(grayImg), D);
highPassFilter = 1 - h;
% 高频强调滤波
filteredImg = imfilter(grayImg, highPassFilter);
% 显示结果
subplot(1,2,1);
imshow(grayImg);
title('原始图像');
subplot(1,2,2);
imshow(filteredImg);
title('高频强调滤波后的图像');
在这个示例中,我们首先读取了一张测试图像,并将其转换为灰度图像。然后,我们使用MATLAB内置的fspecial函数创建了一个高斯滤波器,其中D=40。我们使用1减去这个高斯滤波器,得到高斯高通滤波器。最后,我们使用MATLAB的imfilter函数将高斯高通滤波器应用于灰度图像,得到高频强调滤波后的图像。最后,我们使用subplot函数将原始图像和滤波后的图像显示在同一张图上。
阅读全文