0.2.7 • Published 3 years ago

identity-tech-camera-web v0.2.7

Weekly downloads
-
License
MIT
Repository
bitbucket
Last release
3 years ago

IDT-Camera-Web

Identity-Tech Web component is a javascript library to enable capturing of face and ID Cards. The library supports selfie and portrait capturing, ID Card scanning for OCR, and matching between face captured and face on the ID Card.

The library works with a server side APIs for OCR and face matching.

Installation

We support installation through NPM and by adding a script tag from our CDN

Install Via NPM

npm install identity-tech-camera-web

In your Ionic / React page or component, import the package this way

import 'identity-tech-camera-web'

....

Install via a script tag

<script src="https://unpkg.com/identity-tech-camera-web@0.2.7/identity-tech-camera-web.js" type="module"></script>

Dependencies

This library depend on external libraries for qr-code functionality, backend communication, and peer communication between components.

Dependencies via npm

Dependencies via Javascript

npm i @tensorflow/tfjs
npm i @teachablemachine/image
npm i axios
npm i qrious
npm i peerjs
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@2.6.0/dist/tf.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@teachablemachine/image@0.8/dist/teachablemachine-image.min.js"></script>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/qrious/4.0.2/qrious.min.js"></script>
<script src="https://unpkg.com/peerjs@1.3.1/dist/peerjs.min.js"></script>

Usage

Follow the following steps to add components to your page

Steps

1. Add needed tag to your page

For Face:
<idt-face-camera-web id="face" options="off" capture="manual" ></idt-face-camera-web>
For ID Card
<idt-card-camera-web id="card" type="card" cardtype="tz" options="off" scan="ocr"  capture="manual"></idt-card-camera-web>


<idt-card-camera-web id="card-back" type="card-back" cardtype="mz" options="off" scan="mrz" capture="manual" read="auto"></idt-card-camera-web>

Tag Options/Attributes

AttributeDescriptionOptions
idThis id a common attribute to identify the element in your pageOptional
optionsThis attribute is to allow for camera options to appear. You use options to decide which camera you want to showDefault: onon | off
modeThis specifies whether the camera should show when the page loads or should first show the placeholder with a button to start capturing. normal - shows the placeholder and a buttonlive - shows the camera on page loadDefault: normallive | normal
captureThis option allows for automatic capture.Default: manualmanual | auto
scanThis tag only works for idt-card-camera-web component. This tag specifies which type of card scanning do you want to do. If not set, it will try to scan for all; ocr, mrz, bardcode, qrcodeDefault: allorc | mrz | all
typeThis tag only works for idt-card-camera-web component. It specifies which side of the card do you want to displayDefault: cardcard | card-back
readThis tag only works for idt-card-camera-web component. If it is set to auto, the component will scan the card automatically after capturing. If it is set to manual, a button will show which will need to be clicked to read the cardDefault: manualauto | manual
deviceCameraThis specifies the page to be used to capture image from external device.Optional example. camere_page.html
livelinessThis option enables liveliness detectiontrue | false
cardtypeThis attribute defines the id type country.If set to mz the card detection feature will detect mozambique id cards. If it set to tz the card detectin feature will detect tanzanian id cardsmz | tz

2. Listen for events in your page / component

const  faceCameraWeb = document.querySelector('idt-face-camera-web');
faceCameraWeb.addEventListener('faceImageComputed', (e) => {
	const  data = e.detail;
});
const  cardCameraWeb = document.querySelector('idt-card-camera-web');
cardCameraWeb.addEventListener('cardImageComputed', (e) => {
	const  data = e.detail;
	// your code to process
});
const  scanResponse = document.querySelector('idt-card-camera-web');
cardCameraWeb.addEventListener('scanResponse', (e) => {
	const  data = e.detail;
	// your code to process
});

faceImageComputed, cardImageComputed, scanResponse are CustomEvent returning data — in e.response

Steps

In your page you can keep images state by declaring variable, and update the state of these variable on the image captured event callbacks. Then you can run matching as below.

function tryMatching() {
	if(faceImage && cardImage){
		matchFaces(cardImage, faceImage, function(data){
			document.getElementById("similarityValue").innerHTML= "<h2>"+data[0].similarity+"</h2>";
		});
	}
}

Notes

This library can be used with most JS frameworks

Please note that the library expects that the application is running on a secured channel (https)

Support

This library has been tested on the latest versions of Chrome, Edge, Firefox, and Safari. If any issues are found with some browsers, please notify us.

Keywords

WebComponent    WebRTC

0.2.7

3 years ago

0.2.1

3 years ago

0.2.0

3 years ago

0.2.6

3 years ago

0.1.9

3 years ago

0.2.3

3 years ago

0.2.2

3 years ago

0.2.5

3 years ago

0.2.4

3 years ago

0.1.8

3 years ago

0.1.7

3 years ago

0.1.6

3 years ago

0.1.5

3 years ago

0.1.4

3 years ago

0.1.3

3 years ago

0.1.2

3 years ago

0.1.1

3 years ago

0.1.0

3 years ago