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 可以直接用於頁面圖片的顯示。
以上就是本文的全部內容,希望對大家的學習有所幫助。