tracking.js頁面識別人臉外掛使用方法教程

佚名發表於2018-12-04
文章主要為大家詳細介紹了tracking.js頁面識別人臉外掛使用方法,具有一定的參考價值,感興趣的小夥伴們可以參考一下

tracking.js是頁面識別人臉的一個外掛,首先是tracking.js的git地址 

在下載完tracking.js後,我們需要一個能測試的頁面,這個頁面需要在伺服器上,比如本地的localHost:8080。然後需要引入兩個檢查人臉必須的檔案tracking-min.js和face-min.js。 `

  1. var video = document.getElementById('video');
  2. var canvas = document.getElementById('canvas');
  3. var context = canvas.getContext('2d');
  4. var tracker = new tracking.ObjectTracker('face');
  5.  tracker.setInitialScale(4);
  6.  tracker.setStepSize(2);
  7.  tracker.setEdgesDensity(0.1);
  8.  
  9.  tracking.track('#video', tracker, { camera: true });
  10.  
  11.  tracker.on('track', function(event) {
  12.  context.clearRect(0, 0, canvas.width, canvas.height);
  13.  
  14.  event.data.forEach(function(rect) {
  15.  context.strokeStyle = '#a64ceb';
  16.  context.strokeRect(rect.x, rect.y, rect.width, rect.height);
  17.  context.font = '11px Helvetica';
  18.  context.fillStyle = "#fff";
  19.  context.fillText('x: ' + rect.x + 'px', rect.x + rect.width + 5, rect.y + 11);
  20.  context.fillText('y: ' + rect.y + 'px', rect.x + rect.width + 5, rect.y + 22);
  21.  });
  22.  });`

上面這些事主要的人臉檢測使用程式碼其中: 

tracker.setInitialScale(4); 
tracker.setStepSize(2); 
tracker.setEdgesDensity(0.1); 

這些是設定的引數,文件中沒有明確的說明,暫時不知道用處。可以透過tracker.stop()來停止頁面對人臉的監聽。

如果是要監聽攝像頭的人像就必須判斷瀏覽器是否支援接入攝像頭,其中最主要的方法是navigator.getUserMedia,具體的說明參考這裡。在獲取攝像頭之後就可以監聽攝像頭,判斷是否有人臉,在track事件中就可以擷取需要的圖片。 

具體的擷取方法:

  1. var canvas = $('canvas'),
  2.   context = canvas.getContext('2d'),
  3.   video = $('video');
  4. context.drawImage(video, 0, 0, 200, 150);
  5. var snapData = canvas.toDataURL('image/png'),
  6. var imgSrc = "data:image/png;" + snapData;

imgSrc 可以直接用於頁面圖片的顯示。

以上就是本文的全部內容,希望對大家的學習有所幫助。

相關文章