我試圖製作一個photobooth-ish設置的原型,其中的界面顯示在html頁面上。我設法在畫布元素中嵌入視頻,基本上使用我的計算機上的集成/外部網絡攝像頭根據距離屏幕的距離顯示用戶的臉部/身體。在HTML頁面中使用背景減法在網絡攝像機視頻源
問題:我需要的是能夠消除背景,使得只有人的臉部/身體可見,其餘部分是透明的。我需要這樣做,這樣可以覆蓋背景上的div標籤,這樣,如果站在設備前的人站在不同的背景設置(空間,山脈,城堡等,如圖所示UI)而不是實際在房間中的位置。我該如何使用一些圖像處理代碼以及如何實現這種效果?
我與迄今使用的代碼:
<div id=outerdiv>
<video id="video" autoplay></video>
<canvas id="canvas" >
<script>
// Put event listeners into place
window.addEventListener("DOMContentLoaded", function() {
// Grab elements, create settings, etc.
var canvas = document.getElementById("canvas"),
context = canvas.getContext("2d"),
video = document.getElementById("video"),
videoObj = { "video": true },
errBack = function(error) {
console.log("Video capture error: ", error.code);
};
// Put video listeners into place
if(navigator.getUserMedia) { // Standard
navigator.getUserMedia(videoObj, function(stream) {
video.src = stream;
video.play();
}, errBack);
}
else if(navigator.webkitGetUserMedia) { // WebKit-prefixed
navigator.webkitGetUserMedia(videoObj, function(stream){
video.src = window.webkitURL.createObjectURL(stream);
video.play();
}, errBack);
}
}, false);
</script>
</canvas>
</div>
的影響會是這個樣子(圖像是從互聯網和想法是能夠檢測到人,消除背景,用透明區域取代黑色區域 - 所有在實況視頻從網絡攝像頭捕捉):
任何幫助和指導,將是最有幫助的!