garbor 滤波 matlab 代码
来源:互联网 发布:linux运行级别 编辑:程序博客网 时间:2024/04/30 10:36
//main.m//
ori=imread('E:\j.jpg');
grayimg=rgb2gray(ori);gim=im2double(grayimg);
[Eim,Oim,Aim]=spatialgabor(gim,3,90,0.5,0.5,1);%90-vertical===0-horizontal
imshow(Aim);
//spatialgabor.m//
% SPATIALGABOR - applies single oriented gabor filter to an image
%
% Usage:
% [Eim, Oim, Aim] = spatialgabor(im, wavelength, angle, kx, ky, showfilter)
%
% Arguments:
% im - Image to be processed.
% wavelength - Wavelength in pixels of Gabor filter to construct
% angle - Angle of filter in degrees. An angle of 0 gives a
% filter that responds to vertical features.
% kx, ky - Scale factors specifying the filter sigma relative
% to the wavelength of the filter. This is done so
% that the shapes of the filters are invariant to the
% scale. kx controls the sigma in the x direction
% which is along the filter, and hence controls the
% bandwidth of the filter. ky controls the sigma
% across the filter and hence controls the
% orientational selectivity of the filter. A value of
% 0.5 for both kx and ky is a good starting point.
% showfilter - An optional flag 0/1. When set an image of the
% even filter is displayed for inspection.
%
% Returns:
% Eim - Result from filtering with the even (cosine) Gabor filter
% Oim - Result from filtering with the odd (sine) Gabor filter
% Aim - Amplitude image = sqrt(Eim.^2 + Oim.^2)
%
% Peter Kovesi
% School of Computer Science & Software Engineering
% The University of Western Australia
% pk at csse uwa edu au
% http://www.csse.uwa.edu.au/~pk
%
% October 2006
function [Eim, Oim, Aim] = spatialgabor(im, wavelength, angle, kx, ky, showfilter)
if nargin == 5
showfilter = 0;
end
im = double(im);
[rows, cols] = size(im);
newim = zeros(rows,cols);
% Construct even and odd Gabor filters
sigmax = wavelength*kx;
sigmay = wavelength*ky;
sze = round(3*max(sigmax,sigmay));
[x,y] = meshgrid(-sze:sze);
evenFilter = exp(-(x.^2/sigmax^2 + y.^2/sigmay^2)/2)...
.*cos(2*pi*(1/wavelength)*x);
oddFilter = exp(-(x.^2/sigmax^2 + y.^2/sigmay^2)/2)...
.*sin(2*pi*(1/wavelength)*x);
evenFilter = imrotate(evenFilter, angle, 'bilinear');
oddFilter = imrotate(oddFilter, angle, 'bilinear');
% Do the filtering
Eim = filter2(evenFilter,im); % Even filter result
Oim = filter2(oddFilter,im); % Odd filter result
Aim = sqrt(Eim.^2 + Oim.^2); % Amplitude
if showfilter % Display filter for inspection
figure(1), imshow(evenFilter,[]); title('filter');
end
- garbor 滤波 matlab 代码
- opencv下的Garbor滤波
- MATLAB滤波代码
- 双边滤波matlab代码
- 粒子滤波Matlab代码
- Matlab中值滤波代码
- kalman滤波matlab代码demo
- 【滤波】卡尔曼matlab仿真代码
- 非局部均值滤波matlab代码理解
- 五点三次平滑法滤波 C 和 matlab代码
- 基于L0边缘保持滤波的图像融合 matlab代码
- 双边滤波(bilateral filter)灰度图 matlab实现代码
- 双边滤波(bilateral filter)彩色图 matlab实现代码
- 双边滤波(bilateral filter)快速算法 matlab实现代码
- 卡尔曼滤波简介说明及其算法MATLAB实现代码
- MATLAB里得粒子滤波代码存储库
- 高斯滤波 模板生成原理 matlab代码
- 3.高斯滤波、中值滤波MATLAB代码和结果图像
- swiper的基础使用(十八)
- Java 继承和聚合/组合的关系以及 Is A,Has A
- Tensorflow GraphDef pb 文件读和写 (binary format text format, )
- Gearman 异步任务软件的介绍
- HTTP协议全览
- garbor 滤波 matlab 代码
- Sql Server2008的总结
- BZOJ3659: Which Dreamed It
- tomcat和Session复制介绍
- java中的数据库事务处理
- jquery的ajax缓存
- LBP纹理图的提取
- 牛人经验0(个人定位 命名风格 编码风格 设计风格)
- linux基础