这是代码:
<!DOCTYPE html>
<html>
<head>
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-core"></script>
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-converter"></script>
<script src="https://cdn.jsdelivr.net/npm/@tensorflow-models/facemesh"></script>
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-backend-webgl"></script>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<script>
async function get_facemesh() {
var canvas = document.getElementById("facemesh");
var draw = canvas.getContext("2d");
const stream = document.getElementById("movie");
const model = await facemesh.load((maxFaces = 1));
while (1) {
const faces = await model.estimateFaces(stream);
if (faces.length != 0) {
canvas.width = canvas.width;
var mesh = faces[0].scaledMesh;
var widthAcross = mesh[454][0] - mesh[234][0];
var heightVertical = mesh[152][1] - mesh[10][1];
console.log(heightVertical);
draw.fillStyle = "red";
for (var i = 0; i < mesh.length; i++) {
draw.fillRect(mesh[i][0], mesh[i][1], 2, 2);
}
} else {
console.log(`No faces have been detected`);
}
await tf.nextFrame();
}
}
这是为那些喜欢的人提供的 codepen.io 链接:https ://codepen.io/mdsiam8/pen/gOrPayp 。
我尝试使用位置固定技巧,但它没有用,即使它们正好在彼此之上。感觉画布有点拉伸或者稍微向左变形。我试着摆弄这个但我找不到解决办法,所以如果你们中的任何人能帮助解决这个问题,我将不胜感激。顺便说一下,我知道在网络摄像头上偏移的小脸网是不正常的,因为我有另一个文件并使用了位置固定技巧,而且那个是完美的,所以我不确定为什么它不是这个也是如此。
侃侃尔雅
相关分类