From e9ef9bfe411bda655f6231f3213cb09039b9dbb7 Mon Sep 17 00:00:00 2001
From: chenyc <501753378@qq.com>
Date: 星期一, 27 十一月 2023 09:22:21 +0800
Subject: [PATCH] 更新识别逻辑 定时
---
src/main.ts | 22 ++++++++++++----------
1 files changed, 12 insertions(+), 10 deletions(-)
diff --git a/src/main.ts b/src/main.ts
index c202842..d0b02a8 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -1,9 +1,11 @@
import { createApp } from 'vue'
-import ElementPlus from 'element-plus'
+import ElementPlus, { MessageParams } from 'element-plus'
import 'element-plus/dist/index.css'
import router from './router/index'
import "tracking";
import "tracking/build/data/face";
+import "tracking/build/data/eye";
+import "tracking/build/data/mouth";
import { ElMessage } from 'element-plus';
import { createPinia } from 'pinia'
import App from './App.vue'
@@ -12,7 +14,7 @@
function getUserMedia(constrains:any, success:any, error:any) {
if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
//最新标准API
- ElMessage({ type: 'success', message: '支持最新标准API' });
+ ElMessage({ type: 'success', message: '支持人脸识别最新Api' });
navigator.mediaDevices.getUserMedia(constrains).then(success).catch(error);
} else if (navigator.webkitGetUserMedia) {
ElMessage({ type: 'success', message: '支持webkit内核浏览器' });
@@ -31,29 +33,29 @@
}
}
// 要重写initUserMedia_ 方法,因为chrome的底层api已做调整
-window.tracking.initUserMedia_ = function (element, opt_options) {
+window.tracking.initUserMedia_ = function (element: { srcObject: any; src: string; }, opt_options: { audio: any; }) {
const options = {
video: true,
audio: !!(opt_options && opt_options.audio)
};
- getUserMedia(options, function (stream) {
+ getUserMedia(options, function (stream: Blob | MediaSource) {
try {
element.srcObject = stream;
} catch (err) {
element.src = window.URL.createObjectURL(stream);
}
- }, function (e) {
- Notify(e.message);
+ }, function (e: { message: MessageParams; }) {
+ ElMessage(e.message);
}
);
};
// 重写视频捕获方法,因为不能停止 stop无效的bug
-window.tracking.trackVideo_ = function (element, tracker) {
+window.tracking.trackVideo_ = function (element: CanvasImageSource, tracker: tracking.Tracker) {
console.log('trackVideo_');
var canvas = document.createElement('canvas');
var context = canvas.getContext('2d');
- var width;
- var height;
+ var width: number;
+ var height: number;
var resizeCanvas_ = function () {
width = element.offsetWidth;
@@ -64,7 +66,7 @@
resizeCanvas_();
element.addEventListener('resize', resizeCanvas_);
- var requestId;
+ var requestId: number;
var stopped = false;
var requestAnimationFrame_ = function () {
requestId = window.requestAnimationFrame(function () {
--
Gitblit v1.8.0