簡體   English   中英

使用JavaScript計算面孔數量

[英]Count number of faces using javascript

有沒有一種方法可以計算實時相機中的面部數量。

例如,我在網絡攝像頭前有三個人,我有2個頁面,分別是Success.htmlerror .html ,作為判斷重定向到Successerror頁面的基礎方法的一部分,條件是僅檢測到一張臉,應該將其發送給成功 ,否則,應該將其發送給錯誤

我正在使用tracking.js來檢測網頁中的人臉,目前我的代碼如下。

<!doctype html>
<html>

<head>
<meta charset="utf-8">
<title>tracking.js - face with camera</title>
<link rel="stylesheet" href="assets/demo.css">

<script src="js/tracking-min.js"></script>
<script src="js/data/face-min.js"></script>
<script src="js/dat.gui.min.js"></script>
<script src="assets/stats.min.js"></script>

<style>
video, canvas {
    margin-left: 230px;
    margin-top: 120px;
    position: absolute;
}
</style>
</head>

<body>
    <div class="demo-title">
        <p>
            <a href="http://trackingjs.com" target="_parent">tracking.js</a> -
            get user's webcam and detect faces
        </p>
    </div>

    <div class="demo-frame">
        <div class="demo-container">
            <video id="video" width="320" height="240" preload autoplay loop
                muted></video>
            <canvas id="canvas" width="320" height="240"></canvas>
        </div>
    </div>

    <script>
        window.onload = function() {
            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) {

                    console.log('face detected');
                });
            });

    </script>

</body>

</html>

在我的控制台中,我可以打印, face detected

請讓我知道如何在此窗口中檢測多個面孔。

謝謝

從文檔中:

myTracker.on('track', function(event) {
  if (event.data.length === 0) {
    // No targets were detected in this frame.
  } else {
    event.data.forEach(function(data) {
      // Plots the detected targets here.
    });
  }
});

似乎是event.data.length為您提供了被跟蹤元素的數量。

https://trackingjs.com/docs.html#trackers上添加文檔

 myTracker.on('track', function(event) { if (event.data.length === 0) { // No targets were detected in this frame. } else { event.data.forEach(function(data) { // Plots the detected targets here. }); } }); 

使用event.data.length來計算面孔的數量。

在您的代碼段上:

tracker.on('track', function(event) {
    context.clearRect(0, 0, canvas.width, canvas.height);
    // console log amount of elements found
    console.log(event.data.length);
    event.data.forEach(function(rect) {
        console.log('face detected');
    });
});

計算相同的數量<div>在 html 使用 javascript</div><div id="text_translate"><p> 所以我是 JS 的新手,我必須檢查用戶必須讓他添加多少文檔,我可以用 PHP 來做,但我想學習一些 Javascript 這樣我做了什么,以及我什么時候存儲它說它未定義的父變量的長度,有人可以告訴發生了什么事並感謝您的幫助。 </p><p></p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false"><div class="snippet-code"><pre class="snippet-code-js lang-js prettyprint-override"> window.alert = function(titre, message) { document.getElementById("alertPanel").innerHTML = "<span class=\"close\" onclick=\"closealert();\"></span><h2>" + titre + "</h2><div class=\"texte\">" + message + "</div>"; document.getElementById('alertPanel').style.display='block'; document.getElementById('overlay').style.display='block'; } function HowMuchDocuments() { console.log("work"); var parent = document.getElementsByClassName("created-item"); var itemCount= parent.length; console.log(parent); console.log(itemCount); if(itemCount == 4 ) { console.log('work fine'); alert('Maximum Documents Reached','Please Delete Some Documents you cant go more then 5 documents'); } else { console.log('redirect fine'); console.log(parent.length); //window.location.href="mypage.php"; } } function closealert() { document.getElementById('alertPanel').style.display='none'; document.getElementById('overlay').style.display='none'; }</pre><pre class="snippet-code-css lang-css prettyprint-override"> alert #overlay{ position:fixed; z-index:999; top:0px; left:0px; width:100%; height:100%; background-color:#000; opacity:0.7; display: none; } alert #alertPanel{ position:absolute; top:25%; min-height: 170px; width: 450px; margin-left: 24%; z-index:9999; color:#000; border:1px solid #303030; background-color:#eaeaea; display: none; text-align: center; font-size: 24px; font-weight:100%; margin-bottom: 20px; } alert div.texte{ width: 400px; display:inline-block; padding:20px 0px 10px 0px; word-wrap: break-word; } alert span.close{ background: url('data:image/png;base64,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') no-repeat center center; cursor:pointer; height:32px; width:32px; position:absolute; right:12px; top:12px; cursor:pointer; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; opacity:1.0; } alert #alertPanel h2{ font-weight:100%; font-size:22px; padding:25px 0px 15px 15px; text-align:center; text-shadow:1px 1px 1px #000; margin:0px; background-color: #323232; border:2px solid #fff; -moz-box-shadow:0px 0px 8px #000; -webkit-box-shadow:0px 0px 8px #000; box-shadow:0px 0px 8px #000; color: #FFFFFF; }</pre><pre class="snippet-code-html lang-html prettyprint-override"> <alert> <div id="overlay" ></div> <div id="alertPanel" ></div> </alert> <div> <button class="" id="addDoc" onclick="HowMuchDocuments();"> Add Document </button> </div> <div class="created-item">yow</div> <div class="created-item">yow</div> <div class="created-item">yow</div> <div class="created-item">yow</div></pre></div></div><p></p></div>

[英]Count number of same <div> in html using javascript

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

相關問題 如何使用javascript計算選中的復選框的數量? 使用Javascript計算數組中的元素數 如何使用JavaScript計算列表框的數量 計算使用JavaScript在下拉列表中選擇的變量數 使用CSS或JavaScript計算分頁符數 如何計算使用javascript檢測到的搖動次數 如何使用Javascript計算正確答案的數量? 使用Javascript計算和顯示文本框中的字符數 計算相同的數量<div>在 html 使用 javascript</div><div id="text_translate"><p> 所以我是 JS 的新手,我必須檢查用戶必須讓他添加多少文檔,我可以用 PHP 來做,但我想學習一些 Javascript 這樣我做了什么,以及我什么時候存儲它說它未定義的父變量的長度,有人可以告訴發生了什么事並感謝您的幫助。 </p><p></p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false"><div class="snippet-code"><pre class="snippet-code-js lang-js prettyprint-override"> window.alert = function(titre, message) { document.getElementById("alertPanel").innerHTML = "<span class=\"close\" onclick=\"closealert();\"></span><h2>" + titre + "</h2><div class=\"texte\">" + message + "</div>"; document.getElementById('alertPanel').style.display='block'; document.getElementById('overlay').style.display='block'; } function HowMuchDocuments() { console.log("work"); var parent = document.getElementsByClassName("created-item"); var itemCount= parent.length; console.log(parent); console.log(itemCount); if(itemCount == 4 ) { console.log('work fine'); alert('Maximum Documents Reached','Please Delete Some Documents you cant go more then 5 documents'); } else { console.log('redirect fine'); console.log(parent.length); //window.location.href="mypage.php"; } } function closealert() { document.getElementById('alertPanel').style.display='none'; document.getElementById('overlay').style.display='none'; }</pre><pre class="snippet-code-css lang-css prettyprint-override"> alert #overlay{ position:fixed; z-index:999; top:0px; left:0px; width:100%; height:100%; background-color:#000; opacity:0.7; display: none; } alert #alertPanel{ position:absolute; top:25%; min-height: 170px; width: 450px; margin-left: 24%; z-index:9999; color:#000; border:1px solid #303030; background-color:#eaeaea; display: none; text-align: center; font-size: 24px; font-weight:100%; margin-bottom: 20px; } alert div.texte{ width: 400px; display:inline-block; padding:20px 0px 10px 0px; word-wrap: break-word; } alert span.close{ background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAANjr9RwUqgAAACBjSFJNAABtmAAAc44AAPJxAACDbAAAg7sAANTIAAAx7AAAGbyeiMU/AAAG7ElEQVR42mJkwA8YoZjBwcGB6fPnz4w/fvxg/PnzJ2N6ejoLFxcX47Rp036B5Dk4OP7z8vL+P3DgwD+o3v9QjBUABBALHguZoJhZXV2dVUNDgxNIcwEtZnn27Nl/ZmZmQRYWFmag5c90dHQY5OXl/z98+PDn1atXv79+/foPUN9fIP4HxRgOAAggRhyWMoOwqKgoq6GhIZe3t7eYrq6uHBDb8/Pz27Gysloga/jz588FYGicPn/+/OapU6deOnXq1GdgqPwCOuA31AF/0S0HCCB0xAQNBU4FBQWB0NBQublz59oADV37Hw28ePHi74MHD/6ii3/8+HEFMGQUgQ6WEhQU5AeZBTWTCdkigABC9ylIAZeMjIxQTEyMysaNG/3+/v37AGTgr1+//s2cOfOXm5vbN6Caz8jY1NT0a29v76/v37//g6q9sHfv3khjY2M5YAgJgsyEmg0PYYAAQreUk4+PT8jd3V1l1apVgUAzfoIM2rlz5x9gHH5BtxAdA9PB1zNnzvyB+R6oLxoopgC1nBPZcoAAgiFQnLIDMb+enp5iV1eXBzDeHoI0z58//xcwIX0mZCkMg9S2trb+hFk+ffr0QCkpKVmQ2VA7QHYxAgQQzLesQMwjIiIilZWVZfPu3bstMJ+SYikyBmUzkBnA9HEMyNcCYgmQHVC7mAACCJagOEBBbGdnp7lgwYJEkIavX7/+BcY1SvAaGRl9tba2xohjMTGxL8nJyT+AWQsuxsbG9vnp06e/QWYdPHiwHmiWKlBcCGQXyNcAAQSzmBuoSQqYim3u37+/EKR48uTJv5ANB+bVr7Dga2xs/AkTV1JS+gq0AJyoQIkPWU9aWtoPkPibN2/2A/l6QCwJ9TULQADB4hcY//xKXl5eHt++fbsAUmxhYYHiM1DiAsr9R7ZcVVUVbikIdHd3/0TWIyws/AWYVsByAgICdkAxRSAWAGI2gACClV7C4uLiOv7+/lEgRZ8+ffqLLd6ABck3ZMuB6uCWrlu37je29HDx4kVwQisvL88FFqkaQDERUHADBBAomBl5eHiYgQmLE1hSgQQZgIUD1lJm69atf4HR8R1YKoH5QIPAWWP9+vV/gOI/gHkeQw+wGAXTwAJJ5t+/f/BUDRBA4NIEKMDMyMjICtQIiniG379/4yza7t69+//Lly8oDrty5co/bJaCAEwcZCkwwTJDLWYCCCCwxcDgY3z16hXDnTt3voP4EhISWA0BFgZMwNqHExh3jMiG1tbWsgHjnA2bHmAeBtdWwOL1MycnJ7wAAQggBmi+kgIW/OaKiorJwOLuFShO0LMSMPF9AUYBSpz6+vqixHlOTs4P9MIEWHaDsxSwYMoE2mEGFJcG5SKAAGJCqjv/AbPUn8ePH98ACQQHB6NUmZqamkzABIgSp5s3bwbHORCA1QDLAWZkPc7OzszA8oHl5cuXVy5duvQBGIXwWgoggGA+FgO6xkBNTS28r69vDrT2+Y1cIMDyJchX6KkXVEmAshd6KB06dAic94EO3AzkBwGxPhCLg8ptgACCZyeQp9jZ2b2AmsuAefM8tnxJCk5ISPgOLTKfAdNEOVDMA2QHLDsBBBC8AAFlbmCLwlZISCg5JSVlJizeQAaQaimoWAUFK0g/sGGwHiiWCMS2yAUIQAAxI7c4gEmeFZi4OJ48ecLMzc39CRiEmgEBASxA/QzA8vYvAxEgNjaWZc2aNezAsprp2LFjp4FpZRdQ+AkQvwLij0AMSoC/AQIIXklAC3AVUBoBxmE8sPXQAiyvN8J8fuPGjR/h4eHf0eMdhkENhOPHj8OT+NGjR88BxZuBOA5kJtRseCUBEECMSI0AdmgBDooDaaDl8sASTSkyMlKzpqZGU1paGlS7MABLrX83b978A6zwwakTmE0YgIkSnHpBfGCV+gxYh98qKSk5CeTeAxVeQPwUiN8AMSjxgdLNX4AAYkRqCLBAXcMHtVwSaLkMMMHJAvOq9IQJE9R8fHxElJWV1bEF8aNHj+7t27fvLTDlXwXGLyhoH0OD+DnU0k/QYAa1QP8BBBAjWsuSFWo5LzRYxKFYAljqiAHzqxCwIBEwMTERBdZeoOYMA7Bl+RFYEbwB5oS3IA9D4/IFEL+E4nfQ6IDFLTgvAwQQI5ZmLRtSsINSuyA0uwlBUyQPMPWD20/AKo8ByP4DTJTfgRgUjB+gFoEc8R6amGDB+wu5mQsQQIxYmrdMUJ+zQTM6NzQEeKGO4UJqOzFADQMZ/A1qCSzBfQXi71ALfyM17sEAIIAY8fQiWKAYFgIwzIbWTv4HjbdfUAf8RPLhH1icojfoAQKIEU8bG9kRyF0aRiz6YP0k5C4LsmUY9TtAADEyEA+IVfufGEUAAQYABejinPr4dLEAAAAASUVORK5CYII=') no-repeat center center; cursor:pointer; height:32px; width:32px; position:absolute; right:12px; top:12px; cursor:pointer; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; opacity:1.0; } alert #alertPanel h2{ font-weight:100%; font-size:22px; padding:25px 0px 15px 15px; text-align:center; text-shadow:1px 1px 1px #000; margin:0px; background-color: #323232; border:2px solid #fff; -moz-box-shadow:0px 0px 8px #000; -webkit-box-shadow:0px 0px 8px #000; box-shadow:0px 0px 8px #000; color: #FFFFFF; }</pre><pre class="snippet-code-html lang-html prettyprint-override"> <alert> <div id="overlay" ></div> <div id="alertPanel" ></div> </alert> <div> <button class="" id="addDoc" onclick="HowMuchDocuments();"> Add Document </button> </div> <div class="created-item">yow</div> <div class="created-item">yow</div> <div class="created-item">yow</div> <div class="created-item">yow</div></pre></div></div><p></p></div> 使用javascript計算網頁中的單詞數
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM