A digitizing tablet for capturing the signature in real time is needed. So after correspondence with the various digitizing tablets like Wacom Intous, Wacom Bamboo, Cintique and Bamboo-fun, it was found out that the feature and cost of the Wacom Bamboo Pen tablet was most suitable for our requirements.
Online signature verification uses digitizer tablet (WinTab compatible digitizer) to acquire dynamic data for verification. It is possible to interface the digitizer tablet in C# using VB Tablet component. VB Tablet is a COM component used to interface digitizer devices. Once the digitizer is connected to the PC it is interfaced as a VB Tablet object in C# code.
Integrating digitizer with C#; context, x component, y component, pressure at each sampling point is available. As MATLAB has been selected as another programming language to align and verify signatures, the parameters obtained must be passed from the C# interface into MATLAB. It is required to interface MATLAB with C# for the above purpose.
MATLAB Builder NE works with MATLAB compiler to package MATLAB code as a standard .NET component. Code is encrypted to protect your intellectual property. It is possible to integrate the component with the existing .NET for desktop or web development. One can also modify the original code in MATLAB and then rebuild the component. The component created by the builder run against the MCR, the full set of libraries that that support all features of the MATLAB language and most related toolboxes. The MCR is provided with MATLAB Compiler. To run your .NET component, you must distribute the MCR with them. Components created with MATLAB Builder NE and the MCR can be deployed royalty free.
With MATLAB Builder NE one can:
MATLAB through the .NET builder converts the files to a MATLAB Compiler Runtime (MCR) which can be added as a reference to the C# program in the form of .dll. The MATLAB code can hence be used as a namespace to access various functions of that namespace through a C# application.
Using MATLAB Builder NE two DLL files are generated. ProgramName.dll file and ProgramNamenative.dll are the two files generated. Since MATLAB functions are being called from C#, ProgramNamenative.dll file must be added as reference to interface C# with MATLAB. MWarray.dll as well as ProgramNamenative.dll are referenced in C# to interface the programs.
The GUI using C# allows the user to enter its signature and save it if it’s fine by the user on button click. The extracted parameters of the signature are saved in a .txt file. C# is interfaced with MATLAB using .NET assembly. As soon as the user clicks the save button C# gets interfaced with MATLAB and opens another GUI window in MATLAB using MCR. The C# GUI is for input purpose while the MATLAB GUI is for the verification and database creation purpose. The MATLAB GUI consists of three main parts.
1. Choose Action
The user is given a choice to select the action to be performed once the signature is captured. ’Verify’ for verification and ‘Database’ for database creation are the two options available.
2. Database panel
If the user wants to create database of its signatures it selects ‘Database’ in the Choose Action panel. Then the user needs to enter a UID number (numeric only) and the database no. (1 to 15). If the UID is entered for the first time i.e. for the first database signature , a folder named after the UID number is created and the signature is stored with name ‘(database no).txt’.
3. Verification panel
If the user selects ‘Verify’ in the Choose Action panel, it needs to enter its Unique Identification Number (UID). The user needs to enter GO button after entering its UID number. Once the GO button is pressed the verification process begins. The current signature sample is compared with signature samples stored as database for the entered UID user.
Along with the check boxes various error control messages are programmed into the GUI to produce error messages in following conditions:
1. Error message to indicate that only/ at least one check box needs to be selected in Choose Action panel, if both/ none is selected.
2. Error message to indicate that valid numeric UID must be entered, if an alpha numeric UID is entered.
3. Error message to indicate the database number must be between 1 to 15, if the entered database number is either zero or greater than 15.
If the signature is verified message ‘the signature is verified’ is displayed else message ’the signature is forgery’ is displayed.