(ip: str, username: str = "")
| 10225 | const browLStr = browL > 0.12 ? (I18N.raise || 'RAISE') : (browL < 0.08 ? (I18N.furrow || 'FURROW') : (I18N.neut || 'NEUT')); |
| 10226 | const browRStr = browR > 0.12 ? (I18N.raise || 'RAISE') : (browR < 0.08 ? (I18N.furrow || 'FURROW') : (I18N.neut || 'NEUT')); |
| 10227 | const mouthOpen = calcDist(landmarks[13], landmarks[14]) / faceHeight * 100; |
| 10228 | const mouthW = calcDist(landmarks[61], landmarks[291]) / faceWidth * 100; |
| 10229 | const asymEye = Math.abs(leftEyeOpen - rightEyeOpen); |
| 10230 | const asymBrow = Math.abs(browL - browR) * 100; |
| 10231 | const totalAsym = (asymEye + asymBrow).toFixed(2); |
| 10232 | const emotion = getEmotion(landmarks, faceWidth, faceHeight); |
| 10233 | |
| 10234 | ctx.scale(-1, 1); ctx.translate(-canvasEl.width, 0); |
| 10235 | const faceLeftPx = (1 - pLeft.x) * canvasEl.width; |
no outgoing calls
no test coverage detected