WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Projet de mise en place d'un système de sécurité biométrique basé sur la reconnaissance d'iris embarqué dans un gab.

( Télécharger le fichier original )
par Benito Lubuma
Université de Kinshasa - Lincecié en Genié Informatique 2014
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

IV.5. DEVELOPPEMENT DES MODULES DU SYSTEME

Le système étant vaste et complexe, nous avons pris soin de développer deux modules : un module servant d'indentification et authentification du client ; un autre module servant à la gestion des transactions.

IV.5.1. Choix du langage de programmation

Le choix d'un langage de programmation dépende souvent de la préférence du développeur et du type de logiciel à produire. Pour réussir à développer nos deux modules, nous avons préféré les langages de programmation ci-après : Le Java et le langage C.

T.F.E 2015 | Benito Lubuma L2 Génie info

81

IV.5.2. Quelques interfaces graphiques

Une fois que le client se présentera devant le G.A.B tournant sous notre système, il verra sur l'écran LCD l'image ressemblant à celle-ci :

Une fois l'authentification terminée, le système affichera une image ressemblant à

celle-ci :

Le client aura le choix entre les trois propositions qui lui sera présenté par le système. Sur l'image ci-dessous nous pouvons apercevoir que le client a choisi de retirer de l'argent...

82

Sur cette image, nous pouvons apercevoir un échantillon des données enregistrées après enrôlement d'un certain nombre des clients dans notre système.

IV.5.3. Quelques morceaux des codes

#include "mex.h" #include "matrix.h" #include "math.h"

void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])

{

unsigned char *edgeim;

int rmin,rmax;

const int *dimensioni;

int rows,cols;

int nradii;

int dimensioni3d[3];

double *p;

int hr,hc,hrhc;

T.F.E 2015 | Benito Lubuma L2 Génie info

83

double weigth = 1.0;

int *xd,*yd,*px,*py;

int *x,*y,*changed;

int Lx,Ly,Lxd,Lyd;

int cx,cy;

int radius;

double fractpart, intpart,prodotto;

int ii,jj,cont,index,posjj,posii,n,pos,Lmax,vx,vy;

edgeim = mxGetData(prhs[0]);

rmin = mxGetScalar(prhs[1]);

rmax = mxGetScalar(prhs[2]);

dimensioni = mxGetDimensions(prhs[0]);

rows = dimensioni[0];

cols = dimensioni[1];
nradii = rmax-rmin+1;

dimensioni3d[0] = rows; dimensioni3d[1] = cols; dimensioni3d[2] = nradii;

plhs[0] = mxCreateNumericArray(3,dimensioni3d,mxDOUBLE_CLASS,mxREAL);

p = mxGetData(plhs[0]);

hr = rows; hc = cols; hrhc = hr*hc;

x = mxCalloc(hrhc,sizeof(int));

y = mxCalloc(hrhc,sizeof(int));

cont = 0;

for (jj=0;jj<hc;jj++)

{

posjj = jj*hr;

for (ii=0;ii<hr;ii++)

{

posii = posjj+ii;

if (*(edgeim+posii)>0)

{

x[cont]=jj;

y[cont]=ii;

cont++;

}

}

}

Lx = cont; Ly = cont;

Lmax = (int)(floor((nradii+rmin)/sqrt(2))+1)+1;

changed = mxCalloc(hrhc,sizeof(int));

xd = mxCalloc(Lmax,sizeof(int));

yd = mxCalloc(Lmax,sizeof(int));

px = mxCalloc(8*(Lmax),sizeof(int));

py = mxCalloc(8*(Lmax),sizeof(int));

for (index=0;index<Ly;index++)

{

cx = x[index];

cy = y[index];

for (n=1;n<=nradii;n++)

{

radius = n+rmin;

T.F.E 2015 | Benito Lubuma L2 Génie info

84

Lxd = (int)(((double)radius/sqrt(2))+1);

Lyd = Lxd;

for (ii=0;ii<Lxd;ii++) {

xd[ii] = ii;

prodotto = (double)radius*sqrt(1-((double)(ii*ii))/((double)(radius*radius)));

if ((prodotto-(int)prodotto)>=0.5)

{

yd[ii] = (int)(prodotto)+1;

}

else

{

yd[ii] = (int)(prodotto);

}

}

for (ii=0;ii<Lxd;ii++)

{

vx = xd[ii];

vy = yd[ii];

px[ii] = cy+vx; py[ii] = cx+vy;

px[ii+Lxd] = cy+vy; py[ii+Lxd] = cx+vx;

px[ii+2*Lxd] = cy+vy; py[ii+2*Lxd] = cx-vx;

px[ii+3*Lxd] = cy+vx; py[ii+3*Lxd] = cx-vy;

px[ii+4*Lxd] = cy-vx; py[ii+4*Lxd] = cx-vy;

px[ii+5*Lxd] = cy-vy; py[ii+5*Lxd] = cx-vx;

px[ii+6*Lxd] = cy-vy; py[ii+6*Lxd] = cx+vx;

px[ii+7*Lxd] = cy-vx;

py[ii+7*Lxd] = cx+vy;

}

for (ii=0;ii<hrhc;ii++)

{

changed[ii] = 0;

}

for (ii=0;ii<Lxd*8;ii++)

{

if ((px[ii]>=0) && (px[ii]<hr) && (py[ii]>=0) && (py[ii]<hc))

{

pos = px[ii]+hr*py[ii];

if (changed[pos]==0)

{

p[(n-1)*hrhc+pos] += weigth;

changed[pos] = 1;

}

}

}

T.F.E 2015 | Benito Lubuma L2 Génie info

T.F.E 2015 | Benito Lubuma L2 Génie info

85

}

}

mxFree(xd); mxFree(yd); mxFree(px); mxFree(py); mxFree(x); mxFree(y); mxFree(changed);

T.F.E 2015 | Benito Lubuma L2 Génie info

86

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Des chercheurs qui cherchent on en trouve, des chercheurs qui trouvent, on en cherche !"   Charles de Gaulle