Académique Documents
Professionnel Documents
Culture Documents
Guide de Démarrage
Ciblage du niveau de l'API Android sur l'application Android (à l'aide de Columbo Mini) ....................................... ........19 Ouverture et
Page 1
Machine Translated by Google
Guide de Démarrage
4.2. Exportation d’images d’empreintes digitales vers un modèle ISO ............................................ ......................................28
page 2
Machine Translated by Google
Guide de Démarrage
INTERDICTION 2013/10 Erreur typographique corrigée dans la section de démarrage de Linux (ARM).
page 3
Machine Translated by Google
Guide de Démarrage
1. Contenu du SDK
1.1. Paquets
Le SDK IBScanUltimate complet se compose de six packages distincts pour des systèmes d'exploitation
individuels. Le cœur de chaque package est la bibliothèque IBScanUltimate (distribuée sous forme de DLL
sur Windows et de bibliothèques d'objets partagées sur d'autres platesformes) qui fournit une API pour
capturer des images à partir des scanners IB. Un ou plusieurs exemples d'applications dans chaque
package démontrent l'utilisation de la bibliothèque. Une interface Java est également disponible, via un pont JNI
(distribué sous forme de DLL sous Windows) et un wrapper en langage Java (distribué sous forme de
JAR).
Voici les packages fournis, où « xyz » est le numéro de version tel que « 1.6.7 » :
• IBScanUltimateSDK Setup xyzexe est le programme d'installation pour tous les Windows 32 bits.
platesformes, notamment XP, Vista, Windows 7 et Windows 8. Des exemples d'applications sont fournis
pour une variété de langages, parmi lesquels C/C++, C#, VB et Java.
• IBScanUltimateSDK(x64) Setup xyzexe est le programme d'installation pour tous les Windows 64 bits.
platesformes, notamment XP, Vista, Windows 7 et Windows 8. Des exemples d'applications sont fournis
pour une variété de langages, parmi lesquels C/C++, C#, VB et Java.
• IBScanUltimate_x86_x.yztgz est la version pour les distributions Linux 32 bits (x86) ; la bibliothèque
fournie devrait fonctionner sur les noyaux 2.6 et versions ultérieures. Un exemple d'application est fourni
pour C/C++.
• IBScanUltimate_x64_x.yztgz est la version pour les distributions Linux 64 bits (x64) ; la bibliothèque
fournie devrait fonctionner sur les noyaux 2.6 et versions ultérieures. Un exemple d'application est fourni
pour C/C++.
IBScanUltimate prend en charge les capteurs d'empreintes digitales biométriques intégrés suivants :
• Watson
• Watson Mini
•Sherlock
• Columbo
page 4
Fonctionnalité Watson Watson Mini Sherlock Columbo Courbe Courbe électronique
Type de capteur Émettant de la lumière Émettant de la lumière Émettant de la lumière Émettant de la lumière Émettant de la lumière Émettant de la lumière
capteur (LES) capteur (LES)
CMOS CEI Capteur CMOS CIS (LES) Caméra TFT Capteur CMOS CIS (LES) Capteur CMOS CIS (LES) Capteur CMOS CIS (LES)
caméra caméra caméra caméra caméra
Résolution 500 pixels/pouce 500 pixels/pouce 500 pixels/pouce 500 pixels/pouce 500 pixels/pouce 500 pixels/pouce
1,6" x 1,5" 1,6" x 1,5" 1,6" x 1,5" 0,8" x 1,0"
page 5
Détection active 0,6" x 0,7" (15 0,6" x 0,7" (15
zone
mm x 18 mm) mm x 18 mm)
Taille de l'image 800x 750 800x 750 800x 750 400 x 500 pixels 288x352 288x352
pixels pixels pixels pixels pixels
Taille physique du 63 mm x 70 mm 60 mm x 61 mm 60 mm x 64 mm 39 mm x 46,5 21 mm x 29,5
x 32 mm x 34 mm x 14 mm mm x 27,5 mm x 33,2 mm (hauteur) 69,7 mm (diamètre)mm x 21,5 mm
Carte USB 62 mm x 55 mm N/A N/A 52 mm x 45 mm N/A 75 mm x 45 mm
• Courbe et eCurve
grandeur physique
Guide de Démarrage
page 6
systèmes
* Si elles ne sont pas prises en charge, les fonctions API IBSU_GetLEDs() et IBSU_SetLEDs() ne sont pas prises en charge
** Si elle n'est pas prise en charge, la fonction API IBSU_IsTouchedFinger() n'est pas prise en charge
*** Si elles ne sont pas prises en charge, les fonctions IBSU_GetLEOperationMode() et IBSU_SetOperationMode() ne sont pas prises en charge
****Contrôle l'entrée du capteur tactile
Guide de Démarrage
Machine Translated by Google
Machine Translated by Google
Guide de Démarrage
Tous les modèles sont pris en charge par la version de chaque plateforme. Le tableau 1
résume les fonctionnalités des capteurs individuels et le tableau 2 résume les
fonctionnalités d'IBScanUltimate prises en charge pour chacun.
Pour plus d'informations sur l'API C/C++ de la bibliothèque IBScanUltimate, veuillez vous référer au
manuel de l'API IBScanUltimate pour C.pdf.
Pour plus d'informations sur l'API Java (y compris l'API Android) de la bibliothèque
IBScanUltimate, veuillez vous référer au Manuel de l'API IBScanUltimate pour Java (et
Android).pdf.
Pour l’historique des versions d’IBScanUltimate, veuillez vous référer à IBScanUltimate Version
History.pdf.
Pour plus d'informations sur un modèle de scanner, veuillez vous référer à son manuel matériel.
page 7
Machine Translated by Google
Guide de Démarrage
2. Guides d'installation
Chacune des sections suivantes décrit la procédure d'installation sur une plateforme et résume le contenu qui
sera installé avec le SDK.
pour le contenu 64 bits. Progressez grâce à l’installateur automatique ; nous vous recommandons
d'accepter les valeurs par défaut chaque fois que vous y êtes invité.
Contenu du SDK
Le SDK contient la bibliothèque et l'exemple d'application nécessaires pour commencer à développer une
application Windows qui s'interface avec un scanner IB. Le matériel est séparé en plusieurs répertoires, dont les
suivants :
• Le répertoire /Bin contient des exemples d'applications compilés, la DLL IBScanUltimate (IBScanUltimate.dll)
ainsi que les DLL et JAR pour l'interface Java (IBScanCommon.jar, IBScanUltimate.jar,
IBScanUltimateJNI.dll).
• Le répertoire /Driver contient les pilotes des scanners IB. Ceuxci auraient dû être installés avec le
programme d'installation du SDK.
Exemples d'applications
Les exemples d'applications compilés doivent apparaître dans le menu du programme, qui sera également lié
au dossier contenant la source des applications. Les applications suivantes sont fournies (répertoriées
par les noms qui apparaissent dans le menu du programme) :
• Une série d'exemples de base pour plusieurs langages différents, chacun offrant la même interface
graphique et les mêmes commandes essentielles pour les opérations de base du scanner :
page 8
Machine Translated by Google
Guide de Démarrage
• IBSU_FunctionTester (un exemple pour C/C++) énumère les fonctions API présentées par
IBScanUltimate pour permettre des tests plus précis des fonctionnalités de bibliothèque
individuelles et la présentation des résultats.
page 9
Machine Translated by Google
Guide de Démarrage
Contenu du SDK
Tout d’abord, branchez le périphérique USB IB sur votre port hôte USB.
Deuxièmement, installez la bibliothèque de pilotes IB sur votre système Linux avec des commandes (en
remplaçant x64 par x86, si nécessaire, et le numéro de version par xyz) :
Certaines distributions Linux (comme Ubuntu) nécessitent un accès root, obtenu avec la commande
sudo, pour installer la bibliothèque de pilotes.
page 10
Machine Translated by Google
Guide de Démarrage
page 11
Machine Translated by Google
Guide de Démarrage
page 12
Machine Translated by Google
Guide de Démarrage
Extrayez le contenu avec la commande suivante (en remplaçant le numéro de version par xyz) :
Contenu du SDK
bibliothèques dépendantes sous un compilateur croisé et peuvent ne pas s'exécuter sur toutes
page 13
Machine Translated by Google
Guide de Démarrage
La version armlinuxgnueabi doit être installée sur les platesformes dotées de bibliothèques
système et d'applications conçues pour l'ABI à virgule flottante « douce », équivalente à
Drapeaux du CCG
La version armlinuxgnueabihf doit être installée sur les platesformes dotées de bibliothèques
système et d'applications conçues pour l'ABI à virgule flottante « dure », équivalente à
Drapeaux du CCG
Dépendances
La bibliothèque IBScanUltimate nécessite que libusb 1.0dev soit installé sur la cible.
Sur Ubuntu, vous utiliseriez aptget :
Lors de la compilation de votre application, vous devez établir une liaison dynamique avec ces deux
bibliothèques, libIBScanUltimate.so, et plusieurs bibliothèques C++ standard :
En fonction du fichier installé par le gestionnaire de packages, les mêmes liens peuvent être
nécessaires sur le système cible pour exécuter une application collectant des empreintes digitales
avec IBScanUltimate.
page 14
Machine Translated by Google
Guide de Démarrage
Construction : $
cd IBScanUltimate_armv7a_x.xx/Samples/Linux/TestScan
Build :$ export CROSS_COMPILE=/mygcc/bin/armlinuxgnueabiBuild:$ export
ARCHABI=armlinuxgnueabi
Construire : $ faire
Si vous effectuez une compilation croisée, les versions natives de libusb1.0 doivent être « installées » dans la structure de
bibliothèque d'exécution de votre chaîne d'outils ou sur un chemin de recherche de bibliothèque.
Une fois les fichiers localisés sur votre cible exécutez le script par votre plateforme,
demander un accès root si nécessaire
[Linuxx86,x64]
Cible : $ sudo sh installIBScanUltimate.sh
[Linux armv7gnueabihf]
Cible : $ sudo sh installIBScanUltimate_armv7_gnueabihf.sh
[Linux armv7gnueabihf]
Cible : $ sudo sh installIBScanUltimate_armv7_gnueabi.sh
[Linux armv8]
Cible : $ sudo sh installIBScanUltimate.sh
page 15
Machine Translated by Google
Guide de Démarrage
page 16
Machine Translated by Google
Guide de Démarrage
Le SDK contient les applications et bibliothèques nécessaires pour commencer à développer une application
Android qui s'interface avec un scanner IB. Le matériel est séparé en cinq répertoires :
• Le répertoire /bin ne contient qu'un seul fichier : une version compilée du BI.
Application SimpleScan. Pour installer cette application, ouvrez une fenêtre de terminal, accédez
à ce répertoire et utilisez ADB pour installer l'application sur votre téléphone ou tablette Android
connecté. Assurezvous que adb (ou adb.exe, sous Windows), situé dans le répertoire
platformtools du SDK Android , se trouve sur le PATH ou référencé par son chemin
complet.
• Le répertoire /lib contient quatre dossiers, chacun contenant des versions compilées
l'application, la distribution libusb spécifiquement pour les systèmes Android non rootés et le wrapper
qui expose à l'application une interface Java pratique pour communiquer avec les
scanners IB.
page 17
Machine Translated by Google
Guide de Démarrage
iBScanCommonrelease.aar
iBScanUltimaterelease.aar
libusb.so
libuvc.so
libAKXUS.so
libIBScanUltimate.so
libIBScanUltimateJNI.so
libLiveFinger2.so
(package compatible PAD)
page 18
Machine Translated by Google
Guide de Démarrage
Ciblage du niveau d'API Android sur l'application Android (à l'aide de Columbo Mini)
Récemment, Google a augmenté/appliqué la sécurité sur la plateforme Android concernant Camara et USB.
Par conséquent, si vous utilisez Columbo Mini sur le dernier appareil Android, vous devez vérifier le niveau de
l'API Android de votre application.
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.integratedbiometrics.ibsimplescan">
<usesfeature android:name="android.hardware.usb.host"/>
<usespermission android:name="android.permission.CAMERA"/>
<demande>
…
</application> </
manifeste>
page 19
Machine Translated by Google
Guide de Démarrage
Une fois le projet chargé terminé, l'échantillon apparaîtra sous la liste des
applications avec le nom « IB SimpleScan ». Quand l'application
ouvert, il détectera tous les scanners connectés ou attendra jusqu'à ce qu'il
reçoive une notification indiquant qu'un scanner a été connecté. Après l'IB
Le scanner est connecté, sélectionnez le type de numérisation et appuyez sur le
bouton « Démarrer » pour initialiser le
scanner, puis capturez une numérisation.
Une fois l'analyse terminée, un
clic long sur l'image avec l'empreinte
digitale fera apparaître un menu
contextuel avec des options pour
envoyer l'image par courrier
électronique et afficher une version agrandie.
page 20
Machine Translated by Google
Guide de Démarrage
• IBScan : Le gestionnaire de scanners. La classe principale, IBScan, gère les scanners. En règle générale,
l'activité principale d'une application obtiendra un handle vers l'instance unique de la classe IBScan dans
sa méthode onCreate() :
ceci.m_ibScan =
IBScan.getInstance(this.getApplicationContext());
Avec ce handle, l'application peut utiliser les services fournis par IBScan, notamment
l'obtention d'une description de la version du SDK, l'obtention de la description d'un périphérique
et l'ouverture d'un handle vers un scanner.
this.m_ibScan.setScanListener(this);
implémente IBScanListener {
L'écouteur doit remplacer un certain nombre de méthodes. Plusieurs (abordés plus en détail dans
la section sur les périphériques USB cidessous) alertent l'application sur les événements importants
pour le cycle de connexion du périphérique (attaché, autorisation accordée, nombre de
périphériques modifiés, détachés). Les deux autres sont importants pour la procédure d’ouverture d’un
appareil.
• IBScanDevice : poignée du scanner. Un handle vers un scanner est renvoyé par l'une des fonctions
synchrones IBScan openDevice() ou via le rappel scanDeviceOpenComplete() lors de l'utilisation
de l'une des fonctions asynchrones openDeviceAsynch().
IBScanDeviceListener {
L'écouteur doit remplacer un certain nombre de méthodes. Tous ces éléments sont appelés pendant la
capture (après avoir appelébeginCaptureImage()) pour permettre à l'application de répondre
dynamiquement, par exemple en mettant à jour son affichage de l'analyse en cours sans avoir
besoin d'interroger l'appareil.
page 21
Machine Translated by Google
Guide de Démarrage
Une exception peut avertir qu'une opération est illégale (comme la définition d'une propriété en
lecture seule) ou qu'une erreur s'est produite (comme une erreur d'E/S suite à un échec de
communication).
int DeviceIndex = 0 ;
essayer
ibse.getCode().toString();
En général, l'API Java sera le meilleur choix pour une application souhaitant contrôler un scanner IB, car elle
s'occupe des détails compliqués de l'encapsulation des bibliothèques natives IBScanUltimate.
Puisque certaines applications peuvent préférer coder certaines opérations (par exemple le
traitement d’images) en C ou C++, l’interface native de la bibliothèque est accessible. Idéalement, cette API
Android C/C++ est identique à l'API Linux et peut être utilisée de la même manière (sauf pour les particularités
liées à l'utilisation de périphériques USB sur Android ; voir la section suivante). Veuillez consulter le manuel de
l'API Linux pour plus d'informations sur cette API.
Les systèmes basés sur Android sont assez verrouillés ; une application ne peut accéder qu’à peu de
choses audelà des limites de son processus et de ses ressources. Les autorisations d'accès à certaines
fonctionnalités, telles que le stockage externe, sont annoncées par l'application dans son manifeste et
l'utilisateur est averti lors de l'installation de l'application. Toutefois, pour les périphériques USB,
l'autorisation est accordée appareil par appareil. Une application peut demander l'autorisation d'accéder à
un certain appareil par programmation (ou devenir un appareil par défaut en enregistrant son intérêt
pour certaines catégories par fournisseur et ID de produit ou classe), après quoi l'utilisateur est invité à
approuver ou à refuser dans une boîte de dialogue contextuelle. Si l'utilisateur approuve, l'application
peut accéder à l'appareil.
Dans le cadre de cette interface IBScanListener, plusieurs méthodes doivent être remplacées ; Aux fins de
cette discussion, deux sont les plus pertinentes. Lorsqu'un périphérique d'analyse IB est connecté, la
méthode scanDeviceAttached() sera appelée, offrant à l'application la possibilité de demander l'autorisation
d'y accéder :
@Passer outre
page 22
Machine Translated by Google
Guide de Démarrage
this.m_ibScan.hasPermission(deviceId);
si (!hasPermission)
this.m_ibScan.requestPermission(deviceId);
}
Une fois que l'application a répondu à la demande, une autre méthode d'écoute
(scanDevicePermisionGranted()) sera invoquée ; si l'autorisation est accordée, IBScanUltimate
actualisera la liste des appareils qu'il gère en interne, puis informera l'application que le nombre
d'appareils connectés a changé avec scanDeviceCountChanged() afin que
l'application réalise que davantage de scanners sont disponibles.
(Bien entendu, cette méthode sera également invoquée si un scanner est détaché, pour la raison
inverse.)
@Passer outre
Si l'application entre dans un état dans lequel UsbManager d'Android ne la notifie pas des
pièces jointes des appareils, l'application devra peutêtre parcourir manuellement la liste des
appareils du gestionnaire et demander l'autorisation d'accéder aux scanners inaccessibles :
.getSystemService(Context.USB_SERVICE);
HashMap<String, UsbDevice> deviceList = manager.getDeviceList();
Itérateur<UsbDevice> périphériqueIterator =
deviceList.values().iterator();
page 23
Machine Translated by Google
Guide de Démarrage
si (isScanDevice)
si (!hasPermission)
this.m_ibScan.requestPermission(device.getDeviceId());
page 24
Machine Translated by Google
Guide de Démarrage
Le doigt doit être à la fois correctement aligné et rester en contact avec le boîtier du scanner. Comme le
montre la figure 1a, sur un Watson Mini, le doigt doit être opposé au câble USB et être perpendiculaire au
côté. Sur la figure 1b, vous pouvez voir que le doigt entre en contact avec le boîtier en plastique, comme
nécessaire sur les capteurs Watson Mini, Columbo et Sherlock ; sur un scanner Watson, le contact doit
être établi avec la bande métallique située au bas du scanner.
page 25
Machine Translated by Google
Guide de Démarrage
Les recommandations pour les captures plates s'appliquent également aux captures plates. Les deux sont corrects
L'alignement des empreintes digitales et le contact avec le sol du scanner sont nécessaires. La capture lancée est une
séquence de trois étapes. Comme le montre la figure 3, le doigt doit rester sur la surface du capteur jusqu'à ce que la capture
de l'impression à plat soit terminée ; dans nos exemples de programmes, cette condition est indiquée par une ligne rouge
(la ligne qui suit l'emplacement de capture) sur l'affichage des empreintes digitales.
Figure 3. Capture roulée, étape 1. Le doigt doit rester sur la surface du capteur
jusqu'à ce que la capture d'impression à plat soit terminée.
Ensuite, comme le montre la figure 4, le doigt doit être roulé vers la gauche jusqu'à ce que tout le côté gauche soit
capturé ; dans nos exemples de programmes, cette condition est indiquée lorsque la ligne qui suit la capture passe du
rouge au vert.
Figure 4. Capture roulée, étape 2. Le doigt doit être roulé vers la gauche jusqu'à ce que
tout le côté gauche est capturé
page 26
Machine Translated by Google
Guide de Démarrage
Enfin, comme le montre la figure 5, faites rouler le doigt vers la droite jusqu'à ce que tout le côté droit soit
capturé. La capture roulée se termine lorsque le doigt est retiré de la platine.
Figure 5. Capture roulée, étape 3. Le doigt doit être roulé jusqu'à ce que
tout le côté droit est capturé
page 27
Machine Translated by Google
Guide de Démarrage
•ISO_19794_2_2005
•ISO_19794_4_2005
•ISO_19794_2_2011
•ISO_19794_4_2011
• ANSI_INCITS_378_2004
• ANSI_INCITS_381_2004
Les images FingerPrint sont également enregistrées sous forme de fichiers de modèle ISO comme cidessous.
page 28
Machine Translated by Google
Guide de Démarrage
Pour une explication détaillée de la conversion du modèle ISO, veuillez consulter notre IBScanUltimate
API CIBSU_ConvertImageToISOANSI()
et
API Java ConvertImageToISOANSI()
Une fois que vous avez converti les images FingerPrint converties en modèle ISO, vous devez vérifier que les
fichiers de modèle ISO fonctionnent comme prévu.
Le NIST (https://www.nist.gov/) fournit BioCTS pour le programme ISO/IEC qui vérifie que le modèle ISO contient
des données standard correctes.
Vous pouvez télécharger le programme BioCTS pour ISO/IEC pour le lien cidessous.
https://www.nist.gov/itl/csd/biometricsresourcecenter/biometricconformancetestsoftwarebiocts/
bioctsisoiec
Une fois le téléchargement terminé, installez le programme BioCTS sur votre ordinateur.
Après l'installation, exécutez le programme BioCTS puis allez dans l'onglet « Option »
page 29
Machine Translated by Google
Guide de Démarrage
3) Allez dans l'onglet « Test par lots de fichiers binaires » et cliquez sur le bouton « Ajouter des fichiers »
page 30
Machine Translated by Google
Guide de Démarrage
page 31
Machine Translated by Google
Guide de Démarrage
Coordonnées de l'assistance :
www.integratedbiometrics.com
page 32