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 相关文章推荐
JQuery团队打造的javascript单元测试工具QUnit介绍
Feb 26 Javascript
JavaScript初学者应注意的七个细节详细介绍
Dec 27 Javascript
javascript模拟枚举的简单实例
Mar 06 Javascript
$.each与$().each的区别示例介绍
Mar 20 Javascript
JavaScript中的方法调用详细介绍
Dec 30 Javascript
Node.js中的process.nextTick使用实例
Jun 25 Javascript
JavaScript设计模式之代理模式详解
Jun 09 Javascript
jQuery实现可编辑表格并生成json结果(实例代码)
Jul 19 jQuery
JS求Number类型数组中最大元素方法
Apr 08 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【矩形情况】
Dec 13 Javascript
vue2 中二级路由高亮问题及配置方法
Jun 10 Javascript
JavaScript 判断数据类型的4种方法
Sep 11 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
coreseek 搜索英文的问题详解
2013/06/08 PHP
使用php验证复选框有效性的示例
2013/11/13 PHP
php的dl函数用法实例
2014/11/06 PHP
通过PHP简单实例介绍文件上传
2015/12/16 PHP
分享PHP计算两个日期相差天数的代码
2015/12/23 PHP
完美解决phpdoc导出文档中@package的warning及Error的错误
2016/05/17 PHP
Laravel框架之解决前端显示图片问题
2019/10/24 PHP
PHP使用Http Post请求发送Json对象数据代码解析
2020/07/16 PHP
JavaScript的目的分析
2007/01/05 Javascript
JS中数组Array的用法示例介绍
2014/02/20 Javascript
ExtJS4如何自动生成控制grid的列显示、隐藏的checkbox
2014/05/02 Javascript
在一个页面重复使用一个js函数的方法详解
2016/12/26 Javascript
详解用webpack的CommonsChunkPlugin提取公共代码的3种方式
2017/11/09 Javascript
Swiper自定义分页器使用详解
2017/12/28 Javascript
javascript-hashchange事件和历史状态管理实例分析
2020/04/18 Javascript
[01:09]模型精美,特效酷炫!TI9不朽宝藏Ⅰ鉴赏
2019/05/10 DOTA
python基础教程之基本内置数据类型介绍
2014/02/20 Python
python中__call__方法示例分析
2014/10/11 Python
Python中用函数作为返回值和实现闭包的教程
2015/04/27 Python
python开发之thread线程基础实例入门
2015/11/11 Python
详解Python如何获取列表(List)的中位数
2016/08/12 Python
Python生成短uuid的方法实例详解
2018/05/29 Python
Python使用lambda表达式对字典排序操作示例
2019/07/25 Python
python中最小二乘法详细讲解
2021/02/19 Python
西班牙第一的网上药房:PromoFarma.com
2017/04/17 全球购物
护理专业学生的求职信范文
2013/12/11 职场文书
文科教师毕业的自我评价
2014/01/16 职场文书
节能减排倡议书
2014/04/15 职场文书
工商管理专业毕业生求职信
2014/05/26 职场文书
2014年行政部工作总结
2014/11/19 职场文书
2014年行政人事工作总结
2014/12/09 职场文书
骨干教师申报材料
2014/12/17 职场文书
体育部部长竞选稿
2015/11/21 职场文书
解决sql server 数据库,sa用户被锁定的问题
2021/06/11 SQL Server
springboot + mongodb 通过经纬度坐标匹配平面区域的方法
2021/11/01 MongoDB
Python使用MapReduce进行简单的销售统计
2022/04/22 Python