19
mag
MSP – Multi-Dimensional Space Processing Library
Postato da il 19-05-2009 alle ore 01:03:36


Uno dei rami che mi affascina di più della programmazione è la biometria, ovvero detto in parole povere, quella scienza informatica che studia i metodi di interazione tra mondo reale e mondo virtuale .

Scanner dell’impronta digitale, della retina, rilevatori di movimento … tutti questi concetti fanno parte della biometria .

Più volte mi sono trovato a dover implementare diversi algoritmi in proposito, anche molto complessi, per poi archiviare il pezzo di codice e lasciarlo li come un piccolo file a se stante .

Così ho pensato di scrivere un unica grande classe C++ che racchiudesse la maggiorparte degli algoritmi biometrici o cmq dell’analisi digitale dei segnali, rappresentando l’oggetto principale come uno spazio N-dimensionale a discrezione di colui che usa la libreria .

In questa classe template, oltre alle normali operazioni matriciali/vettoriali, ho implementato tra i tanti i seguenti algoritmi :

  • Applicazione di maschere di sottrazione o addizione .
  • Caricamento e salvataggio sia di matrici “raw” che di qualsiasi formato immagine .
  • Redimensionamento adattivo e/o selettivo .
  • Filtering passa basso e passa alto .
  • Filtering della maschera di orientamento .
  • Operatore di Gabor .
  • Calcolo dell’entropia .
  • Rilevatore di bordi tramite algoritmo di Prewitt .
  • Thinning tramite l’algoritmo Hit-and-miss .
  • Calcolo della mappa delle frequenze e dell’istogramma associato allo spettro dei colori .
  • Blurring e softening .
  • Dilatazione matriciale .
  • Erosione matriciale .
  • Media, variazione, etc .
  • Binarizzazione e normalizzazione della matrice .
  • Trasposizione della matrice .
  • Integralizzazione della matrice .
  • Calcolo delle “features” di un impronta digitale .

La classe, contenuta in un unico file .hpp, è totalmente documentata seguendo lo standard doxy così da poter essere facilmente implementabile .

Scarica msp.hpp

Inoltre vi fornisco tre programmi di esempio, tanto per farvi capire le potenzialità di questa classe .

  1. Creazione di una rete neurale a perceptron e relativa fase di training su un pattern noto .
  2. Acquisizione video da una webcam e sensore di movimento nell’inquadratura .
  3. Calcolo delle features di un impronta digitale e preparazione al matching con un database noto .

Spero che vi piaccia :)

Popularity: 2% [?]

Ti potrebbe interessare:

  1. Redis client library for Hybris E’ disponibile, presso questo repository, una libreria scritta in Hybris...
  2. Estrazione delle features dalle impronte digitali Introduzione Innanzitutto mi sembra doveroso inizare dando un infarinatura  generale...
  3. Neural Network Una classe che rappresenta, object-oriented-parlando, una rete neurale a back...
  4. SmartSocket Una classe che “wrappa” i socket a basso livello offrendo...
  5. Win32 Service Class Classe C++ che wrappa le API windows per l’installazione ed...
blog comments powered by Disqus