%% Gabor 滤波器的应用 % 本程序使用二维 Gabor 滤波器对一幅风景画进行垂直方向、水平方向、水平与垂直的组合方向进行滤波

clc,clear,close all;

%% 读取图像 I = imread('landscape.jpg'); % 读取图像 figure,imshow(I),title('原始图像'); % 显示原始图像

%% 定义 Gabor 滤波器 lambda = 4; % 载波波长 theta = [0 pi/2]; % 滤波器方向(垂直、水平) psi = [0 pi/2]; % 滤波器相位偏移 gamma = 0.5; % 滤波器宽度与长度比 bw = 1; % 滤波器带宽 N = 3; % 滤波器尺度数量 [gaborBank] = gaborFilterBank2D(lambda,theta,psi,gamma,bw,N); % 生成 Gabor 滤波器

%% 对图像进行滤波 I = im2double(rgb2gray(I)); % 转换为灰度图像并将像素值归一化到 [0,1] 范围内 for i = 1:length(gaborBank) % 对每个 Gabor 滤波器进行滤波 I_filtered{i} = imfilter(I,gaborBank{i},'symmetric'); % 对图像进行滤波 figure,imshow(I_filtered{i}),title(['Gabor 滤波器',num2str(i)]); % 显示滤波后的图像 end

%% 显示滤波后的图像 figure; subplot(2,2,1),imshow(I_filtered{1}),title('垂直方向滤波'); subplot(2,2,2),imshow(I_filtered{2}),title('水平方向滤波'); subplot(2,2,3),imshow(I_filtered{3}),title('水平与垂直方向滤波'); subplot(2,2,4),imshow(I_filtered{4}),title('尺度变化');

MATLAB Gabor 滤波器应用:风景画图像处理

原文地址: https://www.cveoy.top/t/topic/nDVm 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录