function image_out = BOGaussFiltering(image_in, L, dir, sigma) % BOGaussFiltering - filtering 2D image with 2D Gauss kernel % % Boguslaw Obara, http://boguslawobara.net/ % % Help: % image_out = BOGaussFiltering(image_in) % 'image_in' - input 2D image % 'L' - input length of kernel % 'dir' - input number of directions value % 'sigma' - input sigma value % 'image_out' - output 2D image % Example: % image_in=imread('BOGaussFiltering_image_in.bmp'); % image_in=image_in(:,:,1); % L=5.0; dir=12; sigma=1.0; % image_out = BOGaussFiltering(image_in, L, dir, sigma); % imagesc(image_out), colormap gray; % % Version: % 0.1 - 24/09/2005 First implementation %% Filtering theta=0.0; image_out=zeros(size(image_in),class(image_in)); for i=0:dir theta=theta+pi/dir; se=BOGaussKernel(L,theta,sigma); image_f=imfilter(image_in,se,'conv','replicate'); image_out=max(image_out,image_f); end %% end