@biopassid/face-sdk
Version:
<h1 align="center"> <br> <a href="http://www.biopassid.com"><img src="https://uploads-ssl.webflow.com/5ec3d6d0293839cf102a656a/63a0d4cec83bbddea006d27a_biopassamarelo.svg" alt="BioPass ID" width="200"></a> <br>
2 lines (1 loc) • 1.52 kB
JavaScript
;var a=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var y=(t,n)=>{for(var e in n)a(t,e,{get:n[e],enumerable:!0})},x=(t,n,e,i)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of p(n))!u.call(t,o)&&o!==e&&a(t,o,{get:()=>n[o],enumerable:!(i=f(n,o))||i.enumerable});return t};var D=t=>x(a({},"__esModule",{value:!0}),t);var w={};y(w,{faceDetectionAdapter:()=>F,loadFaceDetectorModels:()=>E});module.exports=D(w);var s=require("face-api.js");async function E(t="/models"){await(0,s.loadTinyFaceDetectorModel)(t)}function v(){let t=typeof process<"u"&&process.versions&&process.versions.electron,n=typeof navigator=="object"&&navigator.userAgent.includes("Electron");return t||n}v()&&(console.log("Running in Electron"),s.env.monkeyPatch({createCanvasElement:()=>document.createElement("canvas"),createImageElement:()=>document.createElement("img")}));async function F(t,n){let e={detections:0,position:{x:0,y:0,z:0},dimensions:{width:0,height:0},rect:{x:0,y:0,width:0,height:0}},i=await(0,s.detectAllFaces)(t,new s.TinyFaceDetectorOptions({scoreThreshold:n}));if(e.detections=i.length,i.length>0){let o=i[0].relativeBox,c={x:o.x+o.width/2,y:o.y+o.height/2},r=i[0].imageWidth<i[0].imageHeight,l=r?.4:.45,m=r?.6:.55,d=.5,h=.6,g=.4;e.rect=o,o.height>g?e.dimensions.height=0:e.dimensions.height=1,c.x<l?e.position.x=1:c.x>m?e.position.x=-1:e.position.x=0,c.y<d?e.position.y=1:c.y>h?e.position.y=-1:e.position.y=0}return e}