MATLAB---一维Gabor滤波器、gabor滤波器的实部与虚部图像、Gabor滤波器
%% 一维Gabor滤波器
clc,clear,close all % 清理命令区、清理工作区、关闭显示图形
warning off % 消除警告
feature jit off % 加速代码运行
x=-4:0.01:4;
t=1;
y=1*exp(-(x.^2)./(sqrt(2*pi)*t^2));
plot(x,y,'b','linewidth',2);
hold on
x1=-4:0.01:4;
y1=1*sin(9*x1+pi/2);
plot(x1,y1,'k','linewidth',1.2);
y2=y.*y1;
plot(x1,y2,'r','linewidth',2)
%% gabor滤波器的实部与虚部图像
clc,clear,close all % 清理命令区、清理工作区、关闭显示图形
warning off % 消除警告
feature jit off % 加速代码运行
x = 0;
theta = 0;
f0 = 0.2;
for i = linspace(-15,15,50) x = x + 1; y = 0; for j = linspace(-15,15,50) y = y + 1; z(y,x)=compute_gabor(i,j,f0,theta); end
end
x = linspace(-15,15,50);
y = linspace(-15,15,50);
surf(x,y,real(z))
title('Gabor filter:实部');
xlabel('x');
ylabel('y');
zlabel('z');
figure(2);
surf(x,y,imag(z))
title('Gabor filter:虚部');
xlabel('x');
ylabel('y');
zlabel('z'); figure(3)
plot(real(z(1,:,:)),'r','linewidth',2)
hold on
plot(imag(z(1,:,:)),'b--','linewidth',2)
grid on
legend('实部','虚部')``````clike
%% gabor滤波器的实部与虚部图像
clc,clear,close all % 清理命令区、清理工作区、关闭显示图形
warning off % 消除警告
feature jit off % 加速代码运行
x = 0;
theta = 0;
f0 = 0.2;
for i = linspace(-15,15,50) x = x + 1; y = 0; for j = linspace(-15,15,50) y = y + 1; z(y,x)=compute_gabor(i,j,f0,theta); end
end
x = linspace(-15,15,50);
y = linspace(-15,15,50);
surf(x,y,real(z))
title('Gabor filter:实部');
xlabel('x');
ylabel('y');
zlabel('z');
figure(2);
surf(x,y,imag(z))
title('Gabor filter:虚部');
xlabel('x');
ylabel('y');
zlabel('z'); figure(3)
plot(real(z(1,:,:)),'r','linewidth',2)
hold on
plot(imag(z(1,:,:)),'b--','linewidth',2)
grid on
legend('实部','虚部')``````clike
function gabor_k = compute_gabor(x,y,f0,theta)
r = 1; g = 1;
x1 = x*cos(theta) + y*sin(theta);
y1 = -x*sin(theta) + y*cos(theta);
gabor_k = f0^2/(pi*r*g)*exp(-(f0^2*x1^2/r^2+f0^2*y1^2/g^2))*exp(i*2*pi*f0*x1);
function [G,gabout] = gabor_filter(I,Sx,Sy,U,V)
% 函数输入:
% I : 输入的二维图像
% Sx & Sy : 方差 along x and y-axes respectively
% U & V : 中心频率 along x and y-axes respectively
% 函数输出:
% G : G(x,y)
% gabout : Gabor滤波图像
% G(x,y)表达式如下:
% 1 -1 x ^ y ^
%%% G(x,y) = ---------- * exp ([----{(----) 2+(----) 2}+2*pi*i*(Ux+Vy)])
% 2*pi*sx*sy 2 sx syif isa(I,'double')~=1 I = double(I);
endfor x = -fix(Sx):fix(Sx)for y = -fix(Sy):fix(Sy)G(fix(Sx)+x+1,fix(Sy)+y+1) = (1/(2*pi*Sx*Sy))*exp(-.5*((x/Sx)^2+(y/Sy)^2)+2*pi*i*(U*x+V*y));end
endImgabout = conv2(I,double(imag(G)),'same'); % 卷积
Regabout = conv2(I,double(real(G)),'same'); % 卷积gabout = uint8(sqrt(Imgabout.*Imgabout + Regabout.*Regabout)); % 输出滤波图像``````clike
%% Gabor滤波器
clc,clear,close all % 清理命令区、清理工作区、关闭显示图形
warning off % 消除警告
feature jit off % 加速代码运行
[filename ,pathname]=...uigetfile({'*.bmp';'*.tif';'*.jpg';},'选择图片'); %选择图片路径
str=[pathname filename]; % 合成路径+文件名
im = imread(str); % 读图
im = imnoise(im,'gaussian',0,1e-3); % 原图像 + 白噪声figure,
subplot(121),imshow(im);title('原始图像')
colormap(jet) % 颜色
shading interp % 消隐
Sx = 0.5; % x方向的差异系数
Sy = 0.5; % y方向的差异系数
U = 1.0; % x方向的中心频率
V = 1.0; % y方向的中心频率
[G,gabout] = gabor_filter(im,Sx,Sy,U,V);
subplot(122),imshow(gabout);title('Gabor滤波图像')
colormap(jet) % 颜色
shading interp % 消隐
function [G,gabout] = gabor_filter(I,Sx,Sy,U,V)
% 函数输入:
% I : 输入的二维图像
% Sx & Sy : 方差 along x and y-axes respectively
% U & V : 中心频率 along x and y-axes respectively
% 函数输出:
% G : G(x,y)
% gabout : Gabor滤波图像
% G(x,y)表达式如下:
% 1 -1 x ^ y ^
%%% G(x,y) = ---------- * exp ([----{(----) 2+(----) 2}+2*pi*i*(Ux+Vy)])
% 2*pi*sx*sy 2 sx syif isa(I,'double')~=1 I = double(I);
endfor x = -fix(Sx):fix(Sx)for y = -fix(Sy):fix(Sy)G(fix(Sx)+x+1,fix(Sy)+y+1) = (1/(2*pi*Sx*Sy))*exp(-.5*((x/Sx)^2+(y/Sy)^2)+2*pi*i*(U*x+V*y));end
endImgabout = conv2(I,double(imag(G)),'same'); % 卷积
Regabout = conv2(I,double(real(G)),'same'); % 卷积gabout = uint8(sqrt(Imgabout.*Imgabout + Regabout.*Regabout)); % 输出滤波图像
MATLAB---一维Gabor滤波器、gabor滤波器的实部与虚部图像、Gabor滤波器相关推荐
- 基于python的图像Gabor变换及特征提取
基于python的图像Gabor变换及特征提取 1.前言 2. "Gabor帮主"简介 3."Gabor帮主"大招之图像变换 3."Gabor帮主&q ...
- 【Matlab 图像】滤波器原理使用及测试效果
滤波器使用及测试效果 滤波器1:低通滤波 原理 代码 效果 滤波器2:高斯平滑 原理 代码 效果 滤波器3:自适应中值滤波 原理 代码 效果 滤波器4:维纳滤波 原理 代码 效果 滤波器5:最大值滤波 ...
- java巴特沃斯滤波器编程_EMG信号的低通巴特沃斯滤波器
使用matlab中自带的randn函数产生一组随机数,作为EMG信号,然后EMG信号的采样率为2048hz.这里随机数产生的随机数种子采用的机遇系统时钟的随机数种子.系统输入有两个,一个是仿真时间,单 ...
- LC滤波器简单设计法 - 一文读懂LC滤波器简单设计方法及原理介绍,LC值计算方法...
LC滤波器概述 LC滤波器也称为无源滤波器,是传统的谐波补偿装置.LC滤波器之所以称为无源滤波器,顾名思义,就是该装置不需要额外提供电源.LC滤波器一般是由滤波电容器.电抗器和电阻器适当组合而成,与谐 ...
- matlab取矩阵实部和虚部,MATLAB中容易忽略却经常遇到的小技巧总结
1如何产生一个列向量相同的矩阵 例如,列向量x=[1;2;3],要产生矩阵A=[x,x,x],即[1,1,1;2,2,2;3,3,3]. A = repmat(x,1,n) 2构造对角矩阵 >& ...
- 《Gabor feature based sparse representation for face recognition with gabor occlusion dictionary》
Meng Yang, Lei Zhang, "Gabor feature based sparse representation for face recognition with gabo ...
- 滤波器m矩阵 awr 不一样_云南tte滤波器_灿勤科技
首页 > 新闻中心 发布时间:2020-10-27 14:28:20 导读:灿勤科技为您提供云南tte滤波器的相关知识与详情: 3.用加长连接套筒找正时,先测量耦合器的总长,按总长将电机和减速器 ...
- lc滤波器是利用电感的感抗_LC滤波器简单设计法 - 一文读懂LC滤波器简单设计方法及原理介绍,LC值计算方法...
LC滤波器概述 LC滤波器也称为无源滤波器,是传统的谐波补偿装置.LC滤波器之所以称为无源滤波器,顾名思义,就是该装置不需要额外提供电源.LC滤波器一般是由滤波电容器.电抗器和电阻器适当组合而成,与谐 ...
- 滤波器基础05——巴特沃斯、切比雪夫与贝塞尔滤波器
滤波器基础系列博客,传送门: 滤波器基础01--滤波器的种类与特性 滤波器基础02--滤波器的传递函数与性能参数 滤波器基础03--Sallen-Key滤波器.多反馈滤波器与Bainter陷波器 滤波 ...
最新文章
- 一次性搞定Session
- (转)aspnet网址收藏
- 关系数据库——sql基础1定义
- linux 下载mysql5.7.22
- mysql 无法链接, 输入密码失败
- spring是java ee框架吗,Java EE和Spring框架之间的区别
- 1.bootstrapTable data-table
- 配置Eclipse for Java 9
- 他是JavaScript之父,搞砸Firefox!推出下一代浏览器,使用就给钱!
- 2021牛客多校6 I Intervals on the Ring
- 计算机辅助公差技术主要研究内容,计算机辅助形位公差类型生成技术的分析研究.pdf...
- 英魂之刃服务器8.8维护,英魂之刃8大联动!每一个都是良心之作!玩家:公开打脸同行?...
- IBM TSM 6.3学习笔记(1)
- 微软雅黑与微软正黑体
- 微信开发中两种access_token的区别
- cesium 相机跟随
- 个人建站赚钱的5种常见方法
- 蓝牙适配器使用说明A
- 信奥中的数学:排列组合
- Linux内核中的Watchdog