tracking.js页面人脸识别插件使用方法


Posted in Javascript onApril 16, 2020

tracking.js是页面识别人脸的一个插件,首先是tracking.js的git地址

在下载完tracking.js后,我们需要一个能测试的页面,这个页面需要在服务器上,比如本地的localHost:8080。然后需要引入两个检查人脸必须的文件tracking-min.js和face-min.js。 `

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 = '#a64ceb';
 context.strokeRect(rect.x, rect.y, rect.width, rect.height);
 context.font = '11px Helvetica';
 context.fillStyle = "#fff";
 context.fillText('x: ' + rect.x + 'px', rect.x + rect.width + 5, rect.y + 11);
 context.fillText('y: ' + rect.y + 'px', rect.x + rect.width + 5, rect.y + 22);
 });
 });`

上面这些事主要的人脸检测使用代码其中:

tracker.setInitialScale(4);
tracker.setStepSize(2);
tracker.setEdgesDensity(0.1);

这些是设置的参数,文档中没有明确的说明,暂时不知道用处。可以通过tracker.stop()来停止页面对人脸的监听。

如果是要监听摄像头的人像就必须判断浏览器是否支持接入摄像头,其中最主要的方法是navigator.getUserMedia,具体的说明参考这里。在获取摄像头之后就可以监听摄像头,判断是否有人脸,在track事件中就可以截取需要的图片。

具体的截取方法:

var canvas = $('canvas'),
 context = canvas.getContext('2d'),
 video = $('video');
context.drawImage(video, 0, 0, 200, 150);
var snapData = canvas.toDataURL('image/png'),
var imgSrc = "data:image/png;" + snapData;

imgSrc 可以直接用于页面图片的显示。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
IE FF OPERA都可用的弹出层实现代码
Sep 29 Javascript
IE6图片加载的一个BUG解决方法
Jul 13 Javascript
js验证模型自我实现的具体方法
Jun 21 Javascript
LABjs、RequireJS、SeaJS的区别
Mar 04 Javascript
JavaScript中对象属性的添加和删除示例
May 12 Javascript
javascript中键盘事件用法实例分析
Jan 30 Javascript
浅析JS运动
Dec 28 Javascript
Jquery attr()方法 属性赋值和属性获取详解
Apr 15 Javascript
仿淘宝JSsearch搜索下拉深度用法
Jan 15 Javascript
element-ui中select组件绑定值改变,触发change事件方法
Aug 24 Javascript
解决vue打包后刷新页面报错:Unexpected token
Aug 27 Javascript
JavaScript实现猜数字游戏
May 20 Javascript
详解Node.js 中使用 ECDSA 签名遇到的坑
Nov 26 #Javascript
Vue.js的动态组件模板的实现
Nov 26 #Javascript
解决Vue开发中对话框被遮罩层挡住的问题
Nov 26 #Javascript
Vue项目部署在Spring Boot出现页面空白问题的解决方案
Nov 26 #Javascript
electron制作仿制qq聊天界面的示例代码
Nov 26 #Javascript
Vuex的初探与实战小结
Nov 26 #Javascript
微信小程序页面间值传递的两种方法
Nov 26 #Javascript
You might like
聊天室php&mysql(四)
2006/10/09 PHP
PHP 字符串编码截取函数(兼容utf-8和gb2312)
2009/05/02 PHP
PHP实现获取中英文首字母
2015/06/19 PHP
PHP 文件上传后端处理实用技巧方法
2017/01/06 PHP
yii插入数据库防并发的简单代码
2017/05/27 PHP
PDO操作MySQL的基础教程(推荐)
2017/08/18 PHP
jQuery1.4.2与老版本json格式兼容的解决方法
2011/02/12 Javascript
php跨域调用json的例子
2013/11/13 Javascript
JS和Jquery获取和修改label的值的示例代码
2014/01/15 Javascript
Jquery获取元素的父容器对象示例代码
2014/02/10 Javascript
NodeJS Express框架中处理404页面一个方式
2014/05/28 NodeJs
NodeJS制作爬虫全过程(续)
2014/12/22 NodeJs
javascript事件冒泡实例分析
2015/05/13 Javascript
百度地图API之本地搜索与范围搜索
2015/07/30 Javascript
Jquery on方法绑定事件后执行多次的解决方法
2016/06/02 Javascript
js 获取元素所有兄弟节点的实现方法
2016/09/06 Javascript
javascript数据结构之串的概念与用法分析
2017/04/12 Javascript
教你如何编写Vue.js的单元测试的方法
2018/10/17 Javascript
js防抖和节流的深入讲解
2018/12/06 Javascript
vue遍历对象中的数组取值示例
2019/11/07 Javascript
vue 实现超长文本截取,悬浮框提示
2020/07/29 Javascript
JS中箭头函数与this的写法和理解
2021/01/14 Javascript
python计算两个数的百分比方法
2018/06/29 Python
Python实现京东秒杀功能代码
2019/05/16 Python
Python使用matplotlib实现交换式图形显示功能示例
2019/09/06 Python
Django DRF APIView源码运行流程详解
2020/08/17 Python
HTML5 Canvas旋转动画的2个代码例子(一个旋转的太极图效果)
2014/04/10 HTML / CSS
详解通过HTML5 Canvas实现图片的平移及旋转变化的方法
2016/03/22 HTML / CSS
瑞典的玛丽小姐:Miss Mary of Sweden
2019/02/13 全球购物
大三在校生电子商务求职信
2013/10/29 职场文书
电气专业推荐信范文
2013/11/18 职场文书
医药销售自荐书
2014/05/29 职场文书
大学生违纪检讨书300字
2014/10/25 职场文书
2015年“公民道德宣传日”活动方案
2015/05/06 职场文书
新生开学寄语大全
2015/05/28 职场文书
从结婚开始的恋爱故事。小说《我的美好婚事》TV动画化决定
2022/04/07 日漫