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代码
Dec 15 Javascript
javascript 拖放效果实现代码
Jan 22 Javascript
说明你的Javascript技术很烂的五个原因
Apr 26 Javascript
jQuery插件zepto.js简单实现tab切换
Jun 16 Javascript
JavaScript html5 canvas绘制时钟效果(二)
Mar 27 Javascript
AngularJs concepts详解及示例代码
Sep 01 Javascript
javascript数组去重常用方法实例分析
Apr 11 Javascript
详解element-ui中表单验证的三种方式
Sep 18 Javascript
javascript设计模式 ? 抽象工厂模式原理与应用实例分析
Apr 09 Javascript
js canvas实现俄罗斯方块
Oct 11 Javascript
uniapp实现可滑动选项卡
Oct 21 Javascript
canvas 中如何实现物体的框选
Aug 05 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
多重?l件?合查?(二)
2006/10/09 PHP
thinkphp微信开发(消息加密解密)
2015/12/02 PHP
基于PHP实现栈数据结构和括号匹配算法示例
2017/08/10 PHP
json数据的列循环示例
2013/09/06 Javascript
JS 毫秒转时间示例代码
2013/09/22 Javascript
Nodejs极简入门教程(三):进程
2014/10/27 NodeJs
javascript手工制作悬浮菜单
2015/02/12 Javascript
js动态添加的DIV中的onclick事件简单实例
2016/07/25 Javascript
JavaScript实现图片瀑布流和底部刷新
2017/01/02 Javascript
js实现手机发送验证码功能
2017/03/13 Javascript
vue.js轮播图组件使用方法详解
2018/07/03 Javascript
angularJS自定义directive之带参方法传递详解
2018/10/09 Javascript
JavaScript遍历数组的三种方法map、forEach与filter实例详解
2019/02/27 Javascript
修改vue源码实现动态路由缓存的方法
2020/01/21 Javascript
[02:12]探秘2016国际邀请赛中国区预选赛选手房间
2016/06/25 DOTA
[43:24]2018DOTA2亚洲邀请赛3月29日 小组赛A组 LGD VS Liquid
2018/03/30 DOTA
Python中使用中文的方法
2011/02/19 Python
Python实现调度算法代码详解
2017/12/01 Python
Python拼接微信好友头像大图的实现方法
2018/08/01 Python
Python HTML解析器BeautifulSoup用法实例详解【爬虫解析器】
2019/04/05 Python
详解Python 解压缩文件
2019/04/09 Python
Python在Matplotlib图中显示中文字体的操作方法
2019/07/29 Python
基于nexus3配置Python仓库过程详解
2020/06/15 Python
乐高积木玩具美国官网:LEGO Shop US
2016/09/16 全球购物
天猫精选:上天猫,就够了
2016/09/21 全球购物
Larsson & Jennings官网:现代瑞士钟表匠
2018/03/20 全球购物
英国探险旅游专家:Explore
2018/12/20 全球购物
英国在线玫瑰专家:InterRose
2019/12/01 全球购物
介绍一下#error预处理
2015/09/25 面试题
SQL Server数据库笔试题和答案
2016/02/04 面试题
精神文明建设汇报材料
2014/12/24 职场文书
出生公证书
2015/01/23 职场文书
商超业务员岗位职责
2015/02/13 职场文书
入队仪式主持词
2015/07/04 职场文书
使用Java去实现超市会员管理系统
2022/03/18 Java/Android
Mysql 8.x 创建用户以及授予权限的操作记录
2022/04/18 MySQL