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 相关文章推荐
javascript字典探测用户名工具
Oct 05 Javascript
背景音乐每次刷新都可以自动更换
Feb 01 Javascript
在VS2008中使用jQuery智能感应的方法
Dec 30 Javascript
Jquery实现简单的动画效果代码
Mar 18 Javascript
获取select元素被选中的文本内容的js代码
Jan 29 Javascript
jquery选择checked在ie8普通模式下的问题
Feb 12 Javascript
js中的getAttribute方法使用示例
Aug 01 Javascript
JS设置cookie、读取cookie、删除cookie
Apr 17 Javascript
js实现兼容IE、Firefox的图片缩放代码
Dec 08 Javascript
深入理解Commonjs规范及Node模块实现
May 17 Javascript
VUE前端cookie简单操作
Oct 17 Javascript
vue组件实践之可搜索下拉框功能
Nov 25 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
基于mysql的bbs设计(二)
2006/10/09 PHP
超强分页类2.0发布,支持自定义风格,默认4种显示模式
2007/01/02 PHP
php网页后退不再出现过期
2007/03/08 PHP
Discuz 5.0 中读取纯真IP数据库函数分析
2007/03/16 PHP
Laravel 中获取上一篇和下一篇数据
2015/07/27 PHP
PHP MVC框架skymvc支持多文件上传
2016/05/26 PHP
PHP中的日期时间处理利器实例(Carbon)
2017/06/09 PHP
jQuery 1.5.1 发布,全面支持IE9 修复大量bug
2011/02/26 Javascript
js 获取radio按钮值的实例
2013/08/17 Javascript
原生JS绑定滑轮滚动事件兼容常见浏览器
2014/06/30 Javascript
星期几的不同脚本写法(推荐)
2016/06/01 Javascript
js获取html的span标签的值方法(超简单)
2016/07/26 Javascript
JS实现物体带缓冲的间歇运动效果示例
2016/12/22 Javascript
Vuex模块化实现待办事项的状态管理
2017/03/15 Javascript
Bootstrap页面标题Page Header的实现方法
2017/03/22 Javascript
使用watch监听路由变化和watch监听对象的实例
2018/02/24 Javascript
JS中用EL表达式获取上下文参数值的方法
2018/03/28 Javascript
浅谈VUE单页应用首屏加载速度优化方案
2018/08/28 Javascript
微信小程序开发之map地图组件定位并手动修改位置偏差
2019/08/17 Javascript
vue 的 solt 子组件过滤过程解析
2019/09/07 Javascript
JavaScript判断数据类型有几种方法及区别介绍
2020/09/02 Javascript
给我一面国旗 python帮你实现
2019/09/30 Python
Python for循环及基础用法详解
2019/11/08 Python
浅谈CSS3中的变形功能-transform功能
2017/12/27 HTML / CSS
美国知名户外用品畅销中心:Sierra Trading Post
2016/07/19 全球购物
意大利奢华内衣制造商:Cosabella
2017/08/29 全球购物
经验丰富大学生村干部自我鉴定
2014/01/22 职场文书
社区国庆节活动方案
2014/02/05 职场文书
幼儿园新年寄语
2014/04/03 职场文书
挂靠协议书范本
2014/04/22 职场文书
论文诚信承诺书
2014/05/23 职场文书
信息员培训方案
2014/06/12 职场文书
2015年环保局工作总结
2015/05/22 职场文书
曾国藩励志经典名言37句,蕴含哲理
2019/10/14 职场文书
导游词之神仙居景区
2019/11/15 职场文书
python调试工具Birdseye的使用教程
2021/05/25 Python