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 .
- Creazione di una rete neurale a perceptron e relativa fase di training su un pattern noto .
- Acquisizione video da una webcam e sensore di movimento nell’inquadratura .
- Calcolo delle features di un impronta digitale e preparazione al matching con un database noto .
Spero che vi piaccia
Popularity: 2% [?]
Ti potrebbe interessare:
- Redis client library for Hybris E’ disponibile, presso questo repository, una libreria scritta in Hybris...
- Estrazione delle features dalle impronte digitali Introduzione Innanzitutto mi sembra doveroso inizare dando un infarinatura generale...
- Neural Network Una classe che rappresenta, object-oriented-parlando, una rete neurale a back...
- SmartSocket Una classe che “wrappa” i socket a basso livello offrendo...
- Win32 Service Class Classe C++ che wrappa le API windows per l’installazione ed...






















Github
Identi.ca
Twitter
Last.fm
LinkedIn
Google Reader