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中yield实用简洁实现方式
Jun 12 Javascript
用JQuery在网页中实现分隔条功能的代码
Aug 09 Javascript
前后台交互过程中json格式如何解析以及如何生成
Dec 26 Javascript
js绑定事件this指向发生改变的问题解决方法
Apr 23 Javascript
js实现拖拽效果
Feb 12 Javascript
Vue.js每天必学之指令系统与自定义指令
Sep 07 Javascript
JavaScript 异步调用
Oct 25 Javascript
详解angular应用容器化部署
Aug 14 Javascript
TypeScript基础入门教程之三重斜线指令详解
Oct 22 Javascript
vue实现密码显示与隐藏按钮的自定义组件功能
Apr 23 Javascript
vue-router 中 meta的用法详解
Nov 01 Javascript
js与jquery获取input输入框中的值实例讲解
Feb 27 jQuery
详解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
SONY ICF-SW7600的电路分析
2021/03/02 无线电
PHP 程序员应该使用的10个组件
2009/10/31 PHP
PHP对表单提交特殊字符的过滤和处理方法汇总
2014/02/18 PHP
一个经典的PHP文件上传类分享
2014/11/18 PHP
php获取发送给用户的header信息的方法
2015/03/16 PHP
php 将json格式数据转换成数组的方法
2018/08/21 PHP
如何通过PHP实现Des加密算法代码实例
2020/05/09 PHP
JavaScript实现N皇后问题算法谜题解答
2014/12/29 Javascript
JavaScript采用递归算法计算阶乘实例
2015/08/04 Javascript
用window.onerror捕获并上报Js错误的方法
2016/01/27 Javascript
JS实现环形进度条(从0到100%)效果
2016/07/05 Javascript
JS导出PDF插件的方法(支持中文、图片使用路径)
2016/07/12 Javascript
AngularJS自定义插件实现网站用户引导功能示例
2016/11/07 Javascript
微信小程序后台解密用户数据实例详解
2017/06/28 Javascript
AngularJS 仿微信图片手势缩放的实例
2017/09/28 Javascript
详解vue在项目中使用百度地图
2019/03/26 Javascript
JavaScript前端页面搜索功能案例【基于jQuery】
2019/07/10 jQuery
node使用async_hooks模块进行请求追踪
2021/01/28 Javascript
[48:31]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第一场 2月2日
2021/03/11 DOTA
python实现稀疏矩阵示例代码
2017/06/09 Python
Python scikit-learn 做线性回归的示例代码
2017/11/01 Python
Python实现感知器模型、两层神经网络
2017/12/19 Python
python实现Flappy Bird源码
2018/12/24 Python
python之mock模块基本使用方法详解
2019/06/27 Python
python实点云分割k-means(sklearn)详解
2020/05/28 Python
python中Pexpect的工作流程实例讲解
2021/03/02 Python
南京软件公司的.net程序员笔试题
2014/08/31 面试题
责任担保书范文
2014/05/21 职场文书
市委召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
教师党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
北京颐和园导游词
2015/01/30 职场文书
2015年销售工作总结范文
2015/03/30 职场文书
安全教育观后感
2015/06/17 职场文书
python process模块的使用简介
2021/05/14 Python
使用react+redux实现计数器功能及遇到问题
2021/06/02 Javascript
Spring Cloud Netflix 套件中的负载均衡组件 Ribbon
2022/04/13 Java/Android