Manual SDK
Manual SDK
0 Manual
If the content of this manual is changed, sorry that no further notice will be
given.
ZKSoftware Inc.
User Registration
Table of Contents
1. ZKFINGER ALGORITHM DESCRIPTION .............................................1
6.1 THE DIFFERENCE BETWEEN 1:1 CONTROL AND 1:N CONTROL .....................28
6.2 READ- IN AND READ-OUT FINGERPRINT TEMPLATES IN DATABASE ..............28
ZKSoftware Inc. http://www.zksoftware.com
ZKSoftware Inc. ZKFinger SDK 4.0 Manual
6.3 SOFTWARE DOGGLE AND AUTHORIZED LICENSE DOCUMENTATION ............31
6.4 THE USE OF 1:N HIGH- SPEED BUFFER ...........................................................31
6.5 USING FINGERPRINT IMAGES ........................................................................32
6.6 SETTING FINGERPRINT IDENTIFICATION THRESHOLD ....................................32
6.7 SOLUTIONS TO LOW-QUALITY FINGERPRINT TEMPLATES FOR 1:N
IDENTIFICATION ..................................................................................................32
6.8 CONNECTING MULTIPLE FINGERPRINT SENSORS ...........................................36
10、CONTACT US..............................................................................................50
ZKFinger was used to test 2000 pieces of fingerprints collected from four
Sensors (YLC, DFR200, U.are.U, Authentec)—every piece of fingerprint was
verified with the other ones, and verification and test were carried out for
altogether 4,000,000 times—and eventually the following test results were
achieved:
Files Included
SDK Architecture
Application Program
ActiveX Control
OCX
Device Driver
3. Software Installation
Open the ZKFinger SDK disc, and information about the directory and file
will appear as the following:
Before installing ZKFinger SDK, please make sure that your operation
system and the configuration of your computer meet the requirements to run
the software.
1、Put the installation disc in the driver, and the computer will automatically
run the installation software. Click Next button, and you can enter the following
operation steps:
Press Installation button, and begin to install Fingerprint driver and Doggle
driver.
4.1 Property
Read only
Whether the fingerprint Reader set by the currentSensorIndex has got ready
or not.
Read only
Whether the fingerprint identification system is performing normally or not.
If the function initEngine has been used, effective result will be returned.
Read only
7 ZKSoftware Inc. http://www.zksoftware.com
ZKSoftware Inc. ZKFinger SDK 4.0 Manual
The sampling order number at fingerprint registration, that is, the effective
times for successful fingerprint registration at present.
The times for sampling fingerprints at registration, whose value ranges from
one to four.
read only
The version number for the fingerprint identification system.
Read only
The height of the fingerprint image.
Read only
The width of the fingerprint image.
Read only
Whether a fingerprint is being registered or not.
Set to save the file name of the fingerprint registration template when the
event OnEnrollToFile is taking place.
Read only
The number of fingerprint Readers which are connected to the computer, and
if EngineValid is invalid, 0 is returned.
Select the order number of the fingerprint head when multiple fingerprint
Readers are connected. The serial number starts from 0, and if the number is
smaller than 0, the fingerprint Reader will not work.
Read only
The byte length of the fingerprint registration template.
Notice: The template length is 1152 bytes for 1:N, and the template length is
310 bytes for 1:1.
Set the verification and identification threshold value (1-100) for the
fingerprint identification system, and the default value is 10. The larger the value,
the lower the FAR and the higher the FRR.
Set to save the file name of the fingerprint verification template when the
event OnCaptureToFile is taking place.
4.2 Method
4.2.1 The same method for the control interfaces of 1:1 and 1:N
The above-mentioned two methods are mainly used for saving database of
templates. Variant-typed templates are saved in the manner of binary-formatted
arrays, which are quite difficult for languages such as PB, VB, etc. Method
EncodeTemplate can transfer Variant-typed codes into strings, and method
Explanation:
ZKSoftware Inc. http://www.zksoftware.com 16
ZKSoftware Inc. ZKFinger SDK 4.0 Manual
ZKFinger 1:1 low-speed verification speed is rather slow (about 30ms for PII
233), so fingerprints of 1:1 genre added to the buffer by calling the function
AddRegTemplateToFPCache can not be too many; otherwise, the verification
speed will be impacted. By IsOneToOneTemplate, we can judge whether the
fingerprint is of 1:1 type or not.
At the same time multiple buffers can be created for group comparison and
others.
4.3 Events
Obtain the fingerprint verification template for verification, and the template
is saved in a file, whose name is set by the property VerTplFileName.
ActionResult =true indicates that the fingerprint template is obtained successfully,
and False represents a failure.
Call this even when the user fingerprint registration completes. ActionResult
=true indicates that the registration is successful, and the fingerprint feature
template can be captured by using pTemplate property; False represents a failure.
Call this event when the user fingerprint registration completes. ActionResult
=true indicates that the registration is successful, and the fingerprint feature
template is saved in a file, whose name is set as the property RegTplFileName;
False represents a failure.
Obtain the fingerprint’s initial feature. Quality represents the quality of this
fingerprint’s feature, and it may have the following values:
0: Good fingerprint feature
1: Insufficient feature points
2: Other reasons resulting in the incapability to capture the fingerprint
feature
Call this event if the device receives the fingerprint image, or the fingerprint
image is added by AddImageFile and AddBitmap. AimageValid indicates whether
to extract a template or not. If it is set as False, the system will not extract
templates after it has captured the fingerprint image.
4.3.7 OnFingerTouching
4.3.8 OnFingerLeaving
BeginEnroll
Image
OnImageReceived
OnFeatureInfo
No
1-4
Yes Template
OnEnroll
OnEnrollToFile
IsRegister = False
BeginCapture
OnImageReceived
Image
OnFeatureInfo
Template
OnCapture
OnCaptureToFile
1:1 Control is mainly used for development projects which need 1:1
verification, and usually the currently-verified client’s PIN should be entered in
advance, and after that one or several templates he/she has registered are obtained
for verification; while 1:N Control does not require entering the client’s PIN, and
this client can be identified by the client’s fingerprint out of the registered
fingerprint templates.
1:1 Control mainly aims to achieve a high pass rate and a relatively high
accuracy rate; 1:N Control is principally designed to obtain a high verification
speed and a relatively high accuracy rate.
1:1 Control’s maximum template length is only 310 bytes, while that for 1:N
Control is 1152 bytes. Because 1:N requires high-speed verification, and a
remarkably low RAR, relatively more template feature information should be
saved.
In projects where 1:1 Control is used, quite often you are required to save
fingerprint images, or to obtain plane fingerprint images directly from scanning.
Thus, 1:1 Control SDK provides methods, which are capable of capturing
fingerprint registration templates directly from plane fingerprint images, such as
AddImageFile. But what should be paid attention to is that images should be
captured correctly, and their resolution must not be less than 350DPI.
Notice: SDK in Lite Version dose not provide these methods.
In 1:1 Control, the recommendation value for the property Threshold is 10.
In this case, FAR is about 0.01%, and FRR ranges from 1.5% to 2%.
In 1:1 Control, the recommendation value for the property Threshold is 10.
In this case, FAR is about 0.001%, FRR is about 3%, and the recommendation
value for the property OneToOneThreshold is 10.
Verification
Templates Classify Templates
Verify Fingerprints
Yes
Verification Score>=Threshold
N
Y
Verification
Save into
N
All Verification questionable
fingerprints list
Y
TRUE
Verification result
FALSE
N
All
TRUE
Verification
Y
N
All
Yes
Verificatio
Return Verification
If ZKFPEngX1.InitEngine = 0 Then
MessageBox 0, "Initialization succeeds!", "Prompt message", 0
cmdInit.Enabled = False
FMatchType = 0
End If
Press the Register Fingerprint button to enter the fingerprint registration status,
and the code is like the this:
At this moment, the fingerprint Sensor is under the status of registration, and
every time pressing a finger will trigger events OnImageReceived (display
images),and OnFeatureInfo(judge whether the fingerprint is qualified or not).
Dim i As Long
If Not ActionResult Then
MessageBox 0, "Fingerprint registration failed! ", "Warning", 0
Else
MessageBox 0, "Fingerprint registration succeeded!", "Message", 0
FRegTemplate = ATemplate
Press the button Verify Fingerprint to enter the status of fingerprint verification,
and the fingerprint Sensor will be under the status of verification. Pressing a
finger will trigger events OnImageReceived (display images) and OnFeatureInfo
(judge whether the finger is qualified or not), and a qualified fingerprint will
trigger events OnCapture and OnCaptureToFile ( verify by the verification
method).
Press Doggle Read Memory button, and the control’s version information
will be shown in the corresponding edition box; if no information is shown, it
means that Doggle has not been plugged in, or the driver has not been installed.
All these who order and use the products (including, but not limited to,
ZKFinger development kit, discs, CD-ROM, Doggle and Development Manual)
provided by Beijing Zhongkong Automation System Inc., Ltd (or its subsidiary
company, as “Zksoftware Inc.” mentioned below), the subsidiary of ZkSoftware
Inc., Ltd, are subject to the terms and conditions set up in this agreement
(ZKFinger is the registered trade mark of the nuclear technology of ZKSoftware).
If you open the sealed kit consisting of ZKFinger Development Kit and
Development Manual, or you install the below-mentioned software or use this
software on your computer, or you are using any products of ZKSoftware, you
will accept this agreement without option, and at the same time, you must observe
the terms and conditions set up in this agreement.
If you do not want to be subject to the terms and conditions set up in this
agreement, you must return ZKFinger Development Kit and Development Manual
to ZKSoftware Inc. immediately (at least within 7 days after you have received
this information kit), and your will receive the refund.
This is a license agreement but not a sales agreement. You are authorized by
ZKSoftware Inc. here, thus from an individual or a company juridical person, you
receive the license (the license to transfer and the right to resell are subject to the
2. License
You are allowed with limit to use the software, which must be stated by this
agreement and must also be executable file formatted.
a) You can install and use the software in the computer in your office.
b) You are allowed to have copies of the software of reasonable number,
which can not surpass three.
c) You can connect and copy the software to your computer’s programs,
only for the purpose of the development of this computer’s programs, as
described in ZKSoftware Inc.’s Development Manual; but, any parts
connected and copied to another computer is viewed as derived
products, and the terms and conditions in this agreement should also be
observed.
3. License Transfer
4. Forbiddance
You are granted some rights as clarified in the above Section 1 and Section 2,
but you should agree not to :
d) Use, modify , insert or transfer the software or any other products of
ZKSoftware Inc. (including, but not limited to, test modules), except
authorization specifically stated in this agreement;
e) Sell, transfer license, and lease, transfer, mortgage or share your rights
to others under this agreement;
f) Modify, disassemble, decompile, reverse-engine, delete or add original
codes of this software or codes intended to deduce this software;
g) Put this software on a server, so that others are able to obtain it from a
public network;
h) Use the backup of this software or documentation copies (or let others
have this kind of copies) for any purpose, except replacing the original
copy which has been broken or has malfunctions.
If you are a member of the European Union, this agreement will not
influence your legitimate rights specified in the Manual on Computer Software
Protection authorized by EC Committee. If you are looking for any information
5. Limited Guaranty
ZKSoftware Inc. dose not guarantee that all its products will meet your
requirements, and dose not guarantee that its operation will not be interrupted or
no error will take place.
To the degree within the range of laws, in particular ZKSoftware Inc. dose
not undertake any special guaranty not set out herein, and any connotative
guaranty. The guaranty include, but are not limited to, connotative guaranty
related with sales and for any specific purpose.
7. Preparation Limit
The both parties admit of the inherent intricacy of this software and the
products of ZKSoftware Inc., and acknowledge that the software and the products
can not be perfect without any false. ZKSoftware Inc. will not be responsible for
any cost or damage (including indirect and specific damages) brought to you,
your seller, your software users, or the third party, caused by any behavior and
conduct whether it is violation and negligence or not according this agreement or
any other specifications. The cost and damages include, but are not limited to: any
commercial cost, beneficial damage, the damage or loss of data, or the loss of
files, due to the usage of this software, or products of ZKSoftware, or your
software programs, even ZKSoftware Inc. has been recommended about the
possibility of the damages.
9. Responsibility Limit
Under certain circumstances, in spite of the terms and conditions set out in
this agreement, if ZKSoftware Inc. is still responsible for the damage caused by
any malfunction and disqualification of the product, then the total responsibility
fee for each product which has problems, will not surpass the fee paid by you to
ZKSoftware Inc. for the purchase of the product.
11. Termination
If you can not abide by the terms and conditions of this agreement, your
license and this agreement will be terminated. In this case, according to this
agreement of ZKSoftware Inc.:
l) The license authorized by this agreement to you will be invalid, and you
can not continue to use (including transferring the license) the licensed
software and any other licensed products.
m) You should immediately return to ZKSoftware Inc. any tangible
properties and their copies which represent ZKSoftware Inc.’s
intelligence property, or you should delete the electronic forms of this
type of information.
Thanks for your attention to our products. For the convenience that we are
capable of providing you with our perfect service, please log on our technical
forum, and complete registration information, so that we can contact you in time.
We are available from 9:00 a.m. to 6 p.m. from Monday to Friday, there are
persons on duty on Saturdays, and statutory holidays and Sundays are excluded.
You calls or emails are welcome at any time, and we are ready to solve
problems for you.
Before you are prepared to call us, please first confirm that you have
completed all operation procedures according to the manual, and that you have
close any other application programs you have used.
If you have got any technical problems concerning this set of products,
please prepare the following information, so that we are able to remove problems
for you within the shortest period:
1、 Software name
2、 The configuration of your computer (including the brand, computer type,
CPU, EMS memory, disc driver, mainboard brand, and so on).
ZKSoftware Inc. http://www.zksoftware.com 48
ZKSoftware Inc. ZKFinger SDK 4.0 Manual
3、 Windows 95/98/NT4.0/2000/XP or any other environments
4、 any application programs you are using
5、 Detailed description about the problem
10、Contact Us