Filtrage anisotropique pour une image d'empreinte digitale

fatmabouzidi Messages postés 6 Date d'inscription mardi 21 avril 2009 Statut Membre Dernière intervention 27 avril 2010 - 1 févr. 2010 à 13:26
Pistol_Pete Messages postés 1054 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 - 12 mars 2010 à 18:54
Bonjour
je veux programmer le filtre anisotrope avec matlab pour filtrer des images d'empreinte digitale mais j'ai pas arrivé à faire.Je vous demane SVP de m'aider.et si vous avez ce code svp me donner.j'ai besoins de vos aides,j'ai un peu de temps.
merci

7 réponses

Pistol_Pete Messages postés 1054 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
2 févr. 2010 à 09:45
Salut

Tu veux que l'on établisse un devis ensemble?
A+


____________________________________________________________________________
Logiciel en traitement de l'image gratuit et open source.
0
fatmabouzidi Messages postés 6 Date d'inscription mardi 21 avril 2009 Statut Membre Dernière intervention 27 avril 2010 1
2 févr. 2010 à 10:59
j'ai essayé de programmé le filtre mais j'arrive à rien.j'ai ce code mais j'ai un problème dans la détermination des paramètres d'entrées:
Voici le code d'un filtre anisotrope:

function diff_im = anisodiff2D(im, num_iter, delta_t, kappa, option)
%ANISODIFF2D Conventional anisotropic diffusion
% DIFF_IM = ANISODIFF2D(IM, NUM_ITER, DELTA_T, KAPPA, OPTION) perfoms
% conventional anisotropic diffusion (Perona & Malik) upon a gray scale
% image. A 2D network structure of 8 neighboring nodes is considered for
% diffusion conduction.
%
% ARGUMENT DESCRIPTION:
% IM - gray scale image (MxN).
% NUM_ITER - number of iterations.
% DELTA_T - integration constant (0 <= delta_t <= 1/7).
% Usually, due to numerical stability this
% parameter is set to its maximum value.
% KAPPA - gradient modulus threshold that controls the conduction.
% OPTION - conduction coefficient functions proposed by Perona & Malik:
% 1 - c(x,y,t) = exp(-(nablaI/kappa).^2),
% privileges high-contrast edges over low-contrast ones.
% 2 - c(x,y,t) = 1./(1 + (nablaI/kappa).^2),
% privileges wide regions over smaller ones.
%
% OUTPUT DESCRIPTION:
% DIFF_IM - (diffused) image with the largest scale-space parameter.
%
% Example
% -------------
% s = phantom(512) + randn(512);
% num_iter = 15;
% delta_t = 1/7;
% kappa = 30;
% option = 2;
% ad = anisodiff2D(s,num_iter,delta_t,kappa,option);
% figure, subplot 121, imshow(s,[]), subplot 122, imshow(ad,[])
%
% See also anisodiff1D, anisodiff3D.

% References:
% P. Perona and J. Malik.
% Scale-Space and Edge Detection Using Anisotropic Diffusion.
% IEEE Transactions on Pattern Analysis and Machine Intelligence,
% 12(7):629-639, July 1990.
%
% G. Grieg, O. Kubler, R. Kikinis, and F. A. Jolesz.
% Nonlinear Anisotropic Filtering of MRI Data.
% IEEE Transactions on Medical Imaging,
% 11(2):221-232, June 1992.
%
% MATLAB implementation based on Peter Kovesi's anisodiff(.):
% P. D. Kovesi. MATLAB and Octave Functions for Computer Vision and Image Processing.
% School of Computer Science & Software Engineering,
% The University of Western Australia. Available from:
% <http://www.csse.uwa.edu.au/~pk/research/matlabfns/>.
%
% Credits:
% Daniel Simoes Lopes
% ICIST
% Instituto Superior Tecnico - Universidade Tecnica de Lisboa
% danlopes (at) civil ist utl pt
% http://www.civil.ist.utl.pt/~danlopes
%
% May 2007 original version.

% Convert input image to double.
im = double(im);

% PDE (partial differential equation) initial condition.
diff_im = im;

% Center pixel distances.
dx = 1;
dy = 1;
dd = sqrt(2);

% 2D convolution masks - finite differences.
hN = [0 1 0; 0 -1 0; 0 0 0];
hS = [0 0 0; 0 -1 0; 0 1 0];
hE = [0 0 0; 0 -1 1; 0 0 0];
hW = [0 0 0; 1 -1 0; 0 0 0];
hNE = [0 0 1; 0 -1 0; 0 0 0];
hSE = [0 0 0; 0 -1 0; 0 0 1];
hSW = [0 0 0; 0 -1 0; 1 0 0];
hNW = [1 0 0; 0 -1 0; 0 0 0];

% Anisotropic diffusion.
for t = 1:num_iter

% Finite differences. [imfilter(.,.,'conv') can be replaced by conv2(.,.,'same')]
nablaN = imfilter(diff_im,hN,'conv');
nablaS = imfilter(diff_im,hS,'conv');
nablaW = imfilter(diff_im,hW,'conv');
nablaE = imfilter(diff_im,hE,'conv');
nablaNE = imfilter(diff_im,hNE,'conv');
nablaSE = imfilter(diff_im,hSE,'conv');
nablaSW = imfilter(diff_im,hSW,'conv');
nablaNW = imfilter(diff_im,hNW,'conv');

% Diffusion function.
if option == 1
cN = exp(-(nablaN/kappa).^2);
cS = exp(-(nablaS/kappa).^2);
cW = exp(-(nablaW/kappa).^2);
cE = exp(-(nablaE/kappa).^2);
cNE = exp(-(nablaNE/kappa).^2);
cSE = exp(-(nablaSE/kappa).^2);
cSW = exp(-(nablaSW/kappa).^2);
cNW = exp(-(nablaNW/kappa).^2);
elseif option == 2
cN = 1./(1 + (nablaN/kappa).^2);
cS = 1./(1 + (nablaS/kappa).^2);
cW = 1./(1 + (nablaW/kappa).^2);
cE = 1./(1 + (nablaE/kappa).^2);
cNE = 1./(1 + (nablaNE/kappa).^2);
cSE = 1./(1 + (nablaSE/kappa).^2);
cSW = 1./(1 + (nablaSW/kappa).^2);
cNW = 1./(1 + (nablaNW/kappa).^2);
end

% Discrete PDE solution.
diff_im = diff_im + ...
delta_t*(...
(1/(dy^2))*cN.*nablaN + (1/(dy^2))*cS.*nablaS + ...
(1/(dx^2))*cW.*nablaW + (1/(dx^2))*cE.*nablaE + ...
(1/(dd^2))*cNE.*nablaNE + (1/(dd^2))*cSE.*nablaSE + ...
(1/(dd^2))*cSW.*nablaSW + (1/(dd^2))*cNW.*nablaNW );

% Iteration warning.
fprintf('\rIteration %d\n',t);
end
0
cs_raboa Messages postés 6 Date d'inscription mercredi 7 octobre 2009 Statut Membre Dernière intervention 10 mai 2010
12 mars 2010 à 09:25
Bonjour
je veux programmer le filtre de gabore avec matlab pour filtrer des images d'empreinte digitale .Je vous demane SVP de m'aider.et si vous avez ce code svp me donner.j'ai besoins de vos aides,
merci
0
PhilLopez Messages postés 22 Date d'inscription jeudi 4 février 2010 Statut Membre Dernière intervention 24 avril 2010
12 mars 2010 à 16:49
C'est du Big Brother cet affaire !
Dis donc, si on trouve des truc comme ça sur le forum, alors là !!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_raboa Messages postés 6 Date d'inscription mercredi 7 octobre 2009 Statut Membre Dernière intervention 10 mai 2010
12 mars 2010 à 18:30
Aide-moi, s'il vous plaît Comment puis-je utilise le filtre de gabore pour l'image sur le guide .......
.....merci d'avance
0
cs_raboa Messages postés 6 Date d'inscription mercredi 7 octobre 2009 Statut Membre Dernière intervention 10 mai 2010
12 mars 2010 à 18:32
S'il vous plaît..............
0
Pistol_Pete Messages postés 1054 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
12 mars 2010 à 18:54
J'ai déposé il y à moins de 2 semaine une source sur les filtre de gabor... il faut simplement faire la conversion. Il y à aucune difficultés. Si tu veux que je le fasse, encore une fois, on peut établir un devis ensemble.
A+


____________________________________________________________________________
Logiciel en traitement de l'image gratuit et open source.
0