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使用for循环查询数组中是否存在某个值
Aug 12 Javascript
JavaScript定义类和对象的方法
Nov 26 Javascript
基于JS实现简单的样式切换效果代码
Sep 04 Javascript
ES6学习笔记之正则表达式和字符串正则方法分析
Apr 25 Javascript
Bootstrap Tooltip显示换行和左对齐的解决方案
Oct 11 Javascript
Angular移动端页面input无法输入的解决方法
Nov 14 Javascript
基于vue-ssr服务端渲染入门详解
Jan 08 Javascript
在vue中解决提示警告 for循环报错的方法
Sep 28 Javascript
angular6 利用 ngContentOutlet 实现组件位置交换(重排)
Nov 02 Javascript
jQuery Raty星级评分插件使用方法实例分析
Nov 25 jQuery
Jquery属性的获取/设置及样式添加/删除操作技巧分析
Dec 23 jQuery
vue v-for出来的列表,点击某个li使得当前被点击的li字体变红操作
Jul 17 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
实例(Smarty+FCKeditor新闻系统)
2007/01/02 PHP
php更改目录及子目录下所有的文件后缀扩展名的代码
2010/10/12 PHP
百度ping方法使用示例 自动ping百度
2014/01/26 PHP
php中magic_quotes_gpc对unserialize的影响分析
2014/12/16 PHP
PHP实现163邮箱自动发送邮件
2016/03/29 PHP
jquery退出each循环的写法
2014/02/26 Javascript
JS中实现简单Formatter函数示例代码
2014/08/19 Javascript
JavaScript阻止事件冒泡示例分享
2014/12/28 Javascript
javascript实现淘宝幻灯片广告展示效果
2015/04/27 Javascript
JS+CSS实现简单的二级下拉导航菜单效果
2015/09/21 Javascript
关于JS变量和作用域详解
2016/07/28 Javascript
jQuery倒计时代码(超简单)
2017/02/27 Javascript
详解vue嵌套路由-params传递参数
2017/05/23 Javascript
JS使用遮罩实现点击某区域以外时弹窗的弹出与关闭功能示例
2018/07/31 Javascript
如何利用ES6进行Promise封装总结
2019/02/11 Javascript
Vue-cli3简单使用(图文步骤)
2019/04/30 Javascript
javascript使用链接跨域下载图片
2019/11/01 Javascript
python获取指定网页上所有超链接的方法
2015/04/04 Python
Python中使用hashlib模块处理算法的教程
2015/04/28 Python
Django + Uwsgi + Nginx 实现生产环境部署的方法
2018/06/20 Python
Python用5行代码写一个自定义简单二维码
2018/10/21 Python
Python 获取div标签中的文字实例
2018/12/20 Python
python字符串和常用数据结构知识总结
2019/05/21 Python
Python3 获取文件属性的方式(时间、大小等)
2020/03/12 Python
浅析Python __name__ 是什么
2020/07/07 Python
马耳他航空公司官方网站:Air Malta
2019/05/15 全球购物
C++面试题:关于链表和指针
2013/06/05 面试题
GWebs公司笔试题
2012/05/04 面试题
中学生爱国演讲稿
2013/12/31 职场文书
旅游业大学生创业计划书
2014/01/31 职场文书
优秀教师的感人事迹
2014/02/04 职场文书
门市房租房协议书
2014/12/04 职场文书
保密法制宣传月活动总结
2015/05/07 职场文书
导游词之泰山玉皇顶
2019/12/23 职场文书
详解MySQL集群搭建
2021/05/26 MySQL
SQL试题 使用窗口函数选出连续3天登录的用户
2022/04/24 Oracle