Git Product home page Git Product logo

BiomSharp, or 'Biom#', is a set of C# libraries and demo applications that provide easier and more consistent management of person biometric data, as well as an abstraction framework for working with various biometric sensors. Some of the biometric functions are provided as C# class libraries that interoperate with C/C++ native libraries.

Repository

BiomSharp

Motivation

Faced with client requirements to provide fingerprint verification and identification of persons, while maintaining a high degree of vendor independence as regards scanning devices and SDK's, we have created a C# framework to abstract the processes and data of biometric capture. The framework is written with the intent to provide multiple biometric modalities, although it is currently developed for fingerprint and hand-palm capture.

Our full framework also provides functionality required for biometric analysis separate from vendor SDK's, including minutiae detection, extraction, and print quality measures, mainly by interfacing to existing open-source libraries for biometric functions, image-format conversion, image-processing and other utilities. The framework provides access to biometric scanners functions via a C# 'wrapper' of the corresponding functions in the SDK, the functionality abstracted and exposed through a set of standard interfaces defined in the framework core library. The ultimate goal in all instances of such wrappers is to use the underlying SDK only for print-capture, while the rest of the process is present in the framework itself. In cases where C# interoperability with underlying C/C++ libraries are required, this framework endeavours to provide such functionality 'in-the-box', or a rewrite in pure C#.

Why C#?

Most of our clients require deployments on the Microsoft Windows operating system. Also, as most biometric vendors provide mainly C++ and nowadays, C# SDK's, it has become our path of least-resistance. It is our experience that using a modern memory-managed framework/language leads to higher quality solutions and faster delivery times. Add to this the fact that most application developers today are less experience in C/C++, makes this type of framework a more attractive alternative.

Secondly, .NET (and C#) is gaining wider acceptance as a credible cross-platform development environment on desktop, mobile and back-end systems and applications. The wider appeal is being seen as a greater demand for C#/.NET to be used for developing end-to-end biometric-based solutions.

Status

This Github published framework is currently a (very) incomplete version of the full framework. The idea is to release more functionality on an ongoing basis.

Cross-platform portability

We endeavour to provide the code as 'platform-neutral' as possible - most of the projects are portable to any of the existing .NET 6.0 target platforms. Also, they do not reference Windows-specific packages such as 'System.Drawing.Common' or the Windows application frameworks, Windows-Forms, WPF/UWP, etc. Where they are explicitly referenced they are so documented.

Requirements

The framework currently supports .NET 6.0 core. The applications and libraries are provided as a set of Visual Studio solutions (.sln), and C# projects (.csproj) or C++ projects (.vcxproj). The existing builds are for Microsoft Windows and target x64 processor architectures.

We recommend using Visual Studio 2022 (any edition).

License

MIT

Current features

  1. C# implementation of the WSQ codec. This codec is NIST/FBI certified.
  2. C#-wrapper implementation of the NIST NFIQ 2 (version 2.2) fingerprint quality measure.
  3. Integration to Windows-codecs and ImageSharp-codecs.
  4. Windows-forms demo of some of the functionality.

biomsharp's Projects

biomsharp icon biomsharp

Enhanced C# .NET 6.0 biometric framework: making it easy to work with fingerprint biometrics

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.