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 相关文章推荐
JS 巧妙获取剪贴板数据 Excel数据的粘贴
Jul 09 Javascript
javascript 类型判断代码分析
Mar 28 Javascript
浏览器窗口加载和大小改变事件示例
Feb 27 Javascript
jQuery中:selected选择器用法实例
Jan 04 Javascript
浅谈jquery回调函数callback的使用
Jan 30 Javascript
javascript日期格式化方法小结
Dec 17 Javascript
jQuery 检查某个元素在页面上是否存在实例代码
Oct 27 Javascript
详解使用JS如何制作简单的ASCII图与单极图
Mar 31 Javascript
JS与CSS3实现图片响应鼠标移动放大效果示例
May 04 Javascript
JS如何获取地址栏的参数实例讲解
Oct 06 Javascript
js实现盒子移动动画效果
Aug 09 Javascript
通过实例解析javascript Date对象属性及方法
Nov 04 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
Destoon旺旺无法正常显示,点击提示“会员名不存在”的解决办法
2014/06/21 PHP
CMSPRESS 10行代码搞定 PHP无限级分类2
2018/03/30 PHP
如何在PHP中使用AES加密算法加密数据
2020/06/24 PHP
js控制的回到页面顶端goTop的代码实现
2013/03/20 Javascript
js封装可使用的构造函数继承用法分析
2015/01/28 Javascript
jQuery实现tab选项卡效果的方法
2015/07/08 Javascript
javascript检查浏览器是否已经启用XX功能
2015/07/10 Javascript
jquery简单实现网页层的展开与收缩效果
2015/08/07 Javascript
jQuery组件easyui基本布局实现代码
2016/08/25 Javascript
jQuery EasyUI中的日期控件DateBox修改方法
2016/11/09 Javascript
详解Vuejs2.0之异步跨域请求
2017/04/20 Javascript
JavaScript函数表达式详解及实例
2017/05/05 Javascript
AngularJS封装$http.post()实例详解
2017/05/06 Javascript
Vue项目中使用Vux的安装过程
2018/05/01 Javascript
layerUI下的绑定事件实例代码
2018/08/17 Javascript
详解小程序设置缓存并且不覆盖原有数据
2019/04/15 Javascript
vue模仿网易云音乐的单页面应用
2019/04/24 Javascript
在Layui 的表格模板中,实现layer父页面和子页面传值交互的方法
2019/09/10 Javascript
Javascript模拟实现new原理解析
2020/03/03 Javascript
[03:12]完美世界DOTA2联赛PWL DAY9集锦
2020/11/10 DOTA
详解Python的hasattr() getattr() setattr() 函数使用方法
2018/07/09 Python
win7+Python3.5下scrapy的安装方法
2018/07/31 Python
对python中if语句的真假判断实例详解
2019/02/18 Python
python获取地震信息 微信实时推送
2019/06/18 Python
Keras 实现加载预训练模型并冻结网络的层
2020/06/15 Python
python爬虫爬取淘宝商品比价(附淘宝反爬虫机制解决小办法)
2020/12/03 Python
CSS3中的clip-path使用攻略
2015/08/03 HTML / CSS
斯凯奇新西兰官网:SKECHERS新西兰
2018/02/22 全球购物
酒店个人求职信范文
2014/01/25 职场文书
大学生活自我评价
2014/04/09 职场文书
经济管理自荐书
2014/06/09 职场文书
信用卡逾期证明示例
2014/09/13 职场文书
信息合作协议书
2014/10/09 职场文书
群众路线教育实践活动整改方案(个人版)
2014/10/25 职场文书
同学联谊会邀请函
2019/06/24 职场文书
来探秘“德国中小企业”的成功之道
2019/07/26 职场文书