日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

前言

是不是覺得不可思議,js已經強大到這個地步? 是的,js日新月異,它在不斷的進步。只要稍不留神,那我們都只能望塵莫及了。

今天我們就來看看是什么js插件可以如此厲害?

人臉識別JavaScript也可以輕松搞定

人臉識別JAVAScript也可以輕松搞定

tracking.js

tracking.js 庫將不同的計算機視覺算法和技術引入瀏覽器環境。通過使用現代html5規范,能夠進行實時顏色跟蹤、人臉檢測等等。而這些牛逼的功能,僅僅只有7kb大小。

人臉識別示例

<script src="./tracking-min.js"></script>
<script src="./face-min.js"></script>
...
<img id="img" src="assets/faces.jpg">
...
<script>
window.onload = function() {
 var img = document.getElementById('img');
 var tracker = new tracking.ObjectTracker('face');
 tracking.track(img, tracker);
 tracker.on('track', function(event) {
 event.data.forEach(function(rect) {
 console.log(rect.x, rect.y, rect.width, rect.height);
 plotRectangle(rect.x, rect.y, rect.width, rect.height);
 });
 });
 // 下方的代碼可以先忽略
 var friends = [ 'Thomas Middleditch', 'Martin Starr', 'Zach Woods' ];
 var plotRectangle = function(x, y, w, h) {
 var rect = document.createElement('div');
 var arrow = document.createElement('div');
 var input = document.createElement('input');
 input.value = friends.pop();
 rect.onclick = function name() {
 input.select();
 };
 arrow.classList.add('arrow');
 rect.classList.add('rect');
 rect.AppendChild(input);
 rect.appendChild(arrow);
 document.getElementById('photo').appendChild(rect);
 rect.style.width = w + 'px';
 rect.style.height = h + 'px';
 rect.style.left = (img.offsetLeft + x) + 'px';
 rect.style.top = (img.offsetTop + y) + 'px';
 };
};
</script>

代碼解析:

1、首先引入tracking.js,以及相關的實例js

2、new 一個實例,獲取face集合,event.data

3、遍歷集合,獲取每個face坐標等信息

4、繪制出坐標所在選區(這部分可以忽略,主要就上面3步)

人臉識別JavaScript也可以輕松搞定

人臉識別JavaScript也可以輕松搞定

坐標集合描述

人臉識別JavaScript也可以輕松搞定

人臉識別JavaScript也可以輕松搞定

臉嘴巴,眼睛識別

代碼大同小異,不過需要在引入兩個js文件

...
<script src="./eye-min.js"></script>
<script src="./mouth-min.js"></script>
...
<script>
var tracker = new tracking.ObjectTracker(['face', 'eye', 'mouth']);
</script>

人臉識別JavaScript也可以輕松搞定

人臉識別JavaScript也可以輕松搞定

通過上圖,就會發現一個問題,不是很清晰的部位,是不能被識別出來的,最左邊的人像,只識別出了一只眼睛。

這里還有一個js插件也可以做人臉識別,咱們就來對比一下。

PK

先來介紹一下另外一款人臉識別插件,JqueryFaceDetection,顧名思義,是一款基于Jquery的插件。

代碼上面我們就不做對比了,主要來看看識別度,識別情況。

人臉識別JavaScript也可以輕松搞定

人臉識別JavaScript也可以輕松搞定

此圖一出,有愛好JqueryFaceDetection的小伙伴要說,what? 說好的人臉識別,你給我放個大猩猩是幾個意思?好吧,我錯了,來看下圖。

tracking.js

人臉識別JavaScript也可以輕松搞定

人臉識別JavaScript也可以輕松搞定

JqueryFaceDetection

人臉識別JavaScript也可以輕松搞定

人臉識別JavaScript也可以輕松搞定

這下就好說明問題了,tracking.js略勝一籌。

顏色識別

顏色識別只需要引入tracking-min.js即可。這里在圖中查找,品紅,青色和黃色,然后用框標記出來。

window.onload = function() { 
 var img = document.getElementById('img'); 
 var demoContainer = document.querySelector('.demo-container'); 
 
 var tracker = new tracking.ColorTracker(['magenta', 'cyan', 'yellow']); 
 
 tracker.on('track', function(event) { 
 event.data.forEach(function(rect) { 
 window.plot(rect.x, rect.y, rect.width, rect.height, rect.color); 
 }); 
 }); 
 
 tracking.track('#img', tracker); 
 
 window.plot = function(x, y, w, h, color) { 
 var rect = document.createElement('div'); 
 document.querySelector('.demo-container').appendChild(rect); 
 rect.classList.add('rect'); 
 rect.style.border = '2px solid ' + color; 
 rect.style.width = w + 'px'; 
 rect.style.height = h + 'px'; 
 rect.style.left = (img.offsetLeft + x) + 'px'; 
 rect.style.top = (img.offsetTop + y) + 'px'; 
 }; 
};
人臉識別JavaScript也可以輕松搞定

人臉識別JavaScript也可以輕松搞定

其他

tracking.js不僅能識別圖片,還能處理視頻。

人臉識別JavaScript也可以輕松搞定

人臉識別JavaScript也可以輕松搞定


人臉識別JavaScript也可以輕松搞定

人臉識別JavaScript也可以輕松搞定

總的來看,是不是感覺很強大了?未來可期,前端技術越來越厲害,希望和你攜手共進。

公告

喜歡小編的點擊關注,了解更多知識!

分享到:
標簽:JavaScript
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定