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一句话全选/取消全选
Mar 01 Javascript
原生Js实现简易烟花爆炸效果的方法
Mar 20 Javascript
JavaScript获取网页表单提交方式的方法
Apr 02 Javascript
Javascript中replace()小结
Sep 30 Javascript
jQuery实现的省市联动菜单功能示例【测试可用】
Jan 13 Javascript
Bootstrap 下拉多选框插件Bootstrap Multiselect
Jan 22 Javascript
vue学习笔记之v-if和v-show的区别
Sep 20 Javascript
vue router下的html5 history在iis服务器上的设置方法
Oct 18 Javascript
详解react-router 4.0 下服务器如何配合BrowserRouter
Dec 29 Javascript
小程序获取当前位置加搜索附近热门小区及商区的方法
Apr 08 Javascript
浅谈JavaScript闭包
Apr 09 Javascript
webgl实现物体描边效果的方法介绍
Nov 27 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递归函数返回值使用方法
2013/02/18 PHP
ThinkPHP CURD方法之limit方法详解
2014/06/18 PHP
php中将一段数据存到一个txt文件中并显示其内容
2014/08/15 PHP
PHP中判断文件存在使用is_file还是file_exists?
2015/04/03 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
PHP连接MySQL数据库并以json格式输出
2018/05/21 PHP
laravel框架中间件简单使用方法示例
2020/01/25 PHP
JavaScript延迟加载
2021/03/09 Javascript
脚本收藏iframe
2006/07/21 Javascript
Javascript 继承实现例子
2009/08/12 Javascript
javascript 放大镜 v1.0 基于Yui2 实现的放大镜效果
2010/03/08 Javascript
Knockout数组(observable)使用详解示例
2013/11/15 Javascript
JS简单操作select和dropdownlist实例
2014/11/26 Javascript
AngularJS基础 ng-href 指令用法
2016/08/01 Javascript
js模仿微信朋友圈计算时间显示几天/几小时/几分钟/几秒之前
2017/04/27 Javascript
React Native 搭建开发环境的方法步骤
2017/10/30 Javascript
解决vue select当前value没有更新到vue对象属性的问题
2018/08/30 Javascript
基于Vue 实现一个中规中矩loading组件
2019/04/03 Javascript
解决echarts图表使用v-show控制图表显示不全的问题
2020/07/19 Javascript
[02:51]2014DOTA2国际邀请赛 IG战队官方纪录片
2014/07/21 DOTA
Python学习资料
2007/02/08 Python
Python下Fabric的简单部署方法
2015/07/14 Python
python开发中module模块用法实例分析
2015/11/12 Python
Python数组遍历的简单实现方法小结
2016/04/27 Python
使用numba对Python运算加速的方法
2018/10/15 Python
selenium处理元素定位点击无效问题
2019/06/12 Python
巴西女装购物网站:Eclectic
2018/04/24 全球购物
法国面料和小百货在线商店:Mondial Tissus
2019/03/23 全球购物
广播电视新闻学专业应届生求职信
2013/10/08 职场文书
建筑管理专业求职信
2014/07/28 职场文书
人身损害赔偿协议书范本
2014/09/27 职场文书
2015年五四青年节活动总结
2015/02/10 职场文书
同学会感言
2015/07/30 职场文书
python代码实现备忘录案例讲解
2021/07/26 Python
Mysql数据库手动及定时备份步骤
2021/11/07 MySQL
python套接字socket通信
2022/04/01 Python