首页 > 其他分享 >HTML 引用 tracking.js 调取摄像头取人脸 Demo

HTML 引用 tracking.js 调取摄像头取人脸 Demo

时间:2022-08-15 14:34:09浏览次数:47  
标签:canvas tracking Demo js tracker context height rect

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>基于tracking的取人脸</title>
    <script src="static/js/util/jquery.min.js"></script>
    <script src="static/js/util/tracking-min.js"></script>
    <script src="static/js/util/face-min.js"></script>
    <style>
        * {
            padding: 0;
            margin: 0;
        }

        video, #canvas{
            position: absolute;
            width: 581px;
            height: 436px;
        }

        .container {
            position: relative;
            width: 581px;
            height: 436px;
        }
    </style>
</head>
<body>
<div class="container">
    <video id="video" autoplay loop muted playsinline webkit-playsinline="true"></video>
    <canvas id="canvas" width="581" height="436"></canvas>
</div>
<script>
    window.onload = function () {
        var video = document.getElementById('video');
        var canvas = document.getElementById('canvas');
        var context = canvas.getContext('2d');

        var tracker = new tracking.ObjectTracker('face');
        tracker.setInitialScale(4);
        tracker.setStepSize(2);
        tracker.setEdgesDensity(0.1);
        tracking.track('#video', tracker, {camera: true});

        tracker.on('track', function (event) {
            context.clearRect(0, 0, canvas.width, canvas.height);

            event.data.forEach(function (rect) {
                context.strokeStyle = '#fff';
                context.strokeRect(rect.x, rect.y, rect.width, rect.height);
                context.fillStyle = "#fff";
            });
        });
    };

</script>

</body>
</html>

  

Tips:

  需要环境:

  1、可能需要 HTTPS

  2、iPhone 可能需要IOS10以上、使用Safari浏览器才可调用

标签:canvas,tracking,Demo,js,tracker,context,height,rect
From: https://www.cnblogs.com/lucky-jun/p/16588194.html

相关文章

  • json.tool模块
    [root@mysql-host1~]#cat1.json{"version":"0.1","database":"app01","table":"tb1","type":"insert","ts":1659678099,"time_zone":"Asia/Shanghai",&q......
  • python post or get请求demo
    #pythonpostorget请求demoimportrequests;importjson;headers={"Content-Type":"application/json"}##公共参数data={"公共参数1":"","公共参数2":"0",......
  • MVC_jsp演变历史和详解
    MVC_jsp演变历史MVC: 开发模式(ModelViewController)1.jsp演变历史1.早期只有Servlet,只能使用response输出标签数据,非常麻烦2.后来又jsp,简化了Se......
  • CloseableHttpClient设置超时时间demo 未设置默认是2分钟
    #CloseableHttpClient设置超时时间demo未设置默认是2分钟importorg.apache.http.HttpHeaders;importorg.apache.http.client.config.RequestConfig;importorg.ap......
  • JSP注释和JSP内置对象
    注释1、html注释<!---->:只能注释html代码片段2、jsp注释<%----%>:可以注释所有       内置对象在jsp页面中不需要......
  • 服务器上的json类型的文件提示找不到
       搞layuimini时总提示菜单接口有误服务器上地图一直显示不出来,火狐打开F12,发现是找不到json的文件,本来还以为是IIS中"请求筛选"的问题,后来发现不是...解决办......
  • JSP脚本和JSP入门学习
    JSP的脚本:JSP定义Java代码的方式<%代码%>:定义的java代码,在service方法中。service方法中可以定义什么,该脚本中就可以定义什么。<%!代码%>:定义的java代码,在jsp转换后......
  • js实现简单的产品搜索功能
      实现产品搜索功能的表格                div和tbody部分:                    js......
  • 原生js构造函数及其对象 学习总结
    js构造函数及其对象ES5functionPerson(age){ this.name='张三' this.age=age this.talk=function(){ alert('hello') }}首字母大写构造函数中的thi......
  • PHP与JS互相加密解密方法2.0【转载】
    本文转自:https://blog.csdn.net/qq_32845825/article/details/123705487前言:之前写过一个加密解密1.0版本的,但是随着PHP版本升级,那个不能用了,当初使用的是PHP5中的mcrypt......