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中的setTime()方法的使用
Jun 11 Javascript
javascript url几种编码方式详解
Jun 06 Javascript
Node.js中npm常用命令大全
Jun 09 Javascript
浅谈jQuery添加的HTML,JS失效的问题
Oct 05 Javascript
javascript实现根据函数名称字符串动态执行函数的方法示例
Dec 28 Javascript
JS+HTML5 FileReader对象用法示例
Apr 07 Javascript
详解webpack 配合babel 将es6转成es5 超简单实例
May 02 Javascript
Angularjs验证用户输入的字符串是否为日期时间
Jun 01 Javascript
浅谈JsonObject中的key-value数据解析排序问题
Dec 06 Javascript
vue router嵌套路由在history模式下刷新无法渲染页面问题的解决方法
Jan 25 Javascript
微信小程序文章详情页跳转案例详解
Jul 09 Javascript
node.js中对Event Loop事件循环的理解与应用实例分析
Feb 14 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静态类
2006/11/25 PHP
Zend Framework教程之Bootstrap类用法概述
2016/03/14 PHP
PHP 文件锁与进程锁的使用示例
2017/08/07 PHP
PHP缓存工具XCache安装与使用方法详解
2018/04/09 PHP
JavaScript DOM学习第八章 表单错误提示
2010/02/19 Javascript
关于flash遮盖div浮动层的解决方法
2010/07/17 Javascript
基于jquery DOM写的类似微博发布的效果
2012/10/20 Javascript
深入分析js的冒泡事件
2014/12/05 Javascript
jQuery中die()方法用法实例
2015/01/19 Javascript
基于javascript实现简单计算器功能
2016/01/03 Javascript
深入浅析javascript中的作用域(推荐)
2016/07/19 Javascript
JS基于递归实现倒计时效果的方法
2016/11/26 Javascript
JS扩展类,克隆对象与混合类实例分析
2016/11/26 Javascript
基于jQuery封装的分页组件
2017/06/26 jQuery
基于vue.js快速搭建图书管理平台
2017/10/29 Javascript
jQuery实现的记住帐号密码功能完整示例
2019/08/03 jQuery
[03:22]DAC最前线(第二期)—DOTA2亚洲邀请赛主赛场周边及线路探访
2015/01/24 DOTA
Python实例分享:快速查找出被挂马的文件
2014/06/08 Python
Python基于多线程实现抓取数据存入数据库的方法
2018/06/22 Python
python将list转为matrix的方法
2018/12/12 Python
numpy库与pandas库axis=0,axis= 1轴的用法详解
2019/05/27 Python
Python实现TCP探测目标服务路由轨迹的原理与方法详解
2019/09/04 Python
python进程池实现的多进程文件夹copy器完整示例
2019/11/27 Python
OpenCV python sklearn随机超参数搜索的实现
2020/01/17 Python
Python写出新冠状病毒确诊人数地图的方法
2020/02/12 Python
Python 面向对象静态方法、类方法、属性方法知识点小结
2020/03/09 Python
Python自定义聚合函数merge与transform区别详解
2020/05/26 Python
利用python绘制正态分布曲线
2021/01/04 Python
澳大利亚电子产品购物网站:Dick Smith
2017/02/02 全球购物
迪卡侬荷兰官网:Decathlon荷兰
2017/10/29 全球购物
主办会计岗位职责
2014/03/13 职场文书
司法局火灾防控方案
2014/06/05 职场文书
小学生我的梦想演讲稿
2014/08/21 职场文书
创业计划书之儿童理发店
2019/09/27 职场文书
2019年图书室自查报告范本
2019/10/12 职场文书
秀!学妹看见都惊呆的Python小招数!【详细语言特性使用技巧】
2021/04/27 Python