国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務器之家 - 編程語言 - JavaScript - js教程 - Handtrack.js庫實現實時監測手部運動(推薦)

Handtrack.js庫實現實時監測手部運動(推薦)

2022-01-19 15:27開源前哨 js教程

這篇文章主要介紹了實時監測手部運動的 JS 庫,可以實現很多有趣功能,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

【導語】: Handtrack.js 是一個可以直接在瀏覽器中實現實時手部動作跟蹤和檢測的原型庫,它是經過 Tensorflow 訓練產生的開源模型,不需要用戶自己訓練。有了它,你只需要通過幾行代碼就能檢測圖片中手部的動作。

GitHub 主頁

https://github.com/victordibi...

Handtrack.js庫實現實時監測手部運動(推薦)

1、簡介

Handtrack.js ,是基于 TensorFlow 對象檢測 API 訓練模型搭建的,能夠實現通過攝像頭實時監測手部運動,它的特點主要包含:

handtrack.js

Handtrack.js庫實現實時監測手部運動(推薦)

2、應用場景

如果你對基于手勢的交互式體驗感興趣, Handtrack.js 會很有用。用戶不需要使用任何額外的傳感器或硬件,就可以立即獲得基于手勢的交互體驗。

Handtrack.js庫實現實時監測手部運動(推薦)

一些相關的應用場景:

  • 將鼠標移動映射到手部移動,達到控制的目的;
  • 當手和其他物體重疊時可以表示某些有意義的交互信號(例如觸碰物體或選擇物體);
  • 人的手部運動可以作為某些活動識別的代理的場景(例如,自動跟蹤視頻或圖像中下棋者的動作), 或者簡單地計算圖像或視頻幀中有多少個人;
  • 創建演示,任何人都可以通過最少的設置輕松運行或體驗這些東西。

Handtrack.js庫實現實時監測手部運動(推薦)

Handtrack.js庫實現實時監測手部運動(推薦)

3、使用方法

你可以直接在 script 標簽中包含這個庫的 URL 地址,或者使用構建工具從 npm 中導入它。

3.1 使用script標簽

Handtrack.js 的最小化 js 文件目前托管在 jsdelivr 上,jsdelivr 是一個免費的開源 CDN,讓你可以在 Web 應用程序中包含任何的 npm包。

<script src="https://cdn.jsdelivr.net/npm/handtrackjs/dist/handtrack.min.js"> </script>

<img id="img" src="hand.jpg"/> 
<canvas id="canvas" class="border"></canvas>

將上面的 script 標簽添加到 html 頁面后,就可以使用 handTrack 變量引用 handtrack.js ,如下所示:

<script>
 const img = document.getElementById("img"); 
 const canvas = document.getElementById("canvas");
 const context = canvas.getContext("2d");
 
 // Load the model.
 handTrack.load().then(model => {
 model.detect(img).then(predictions => {
  console.log("Predictions: ", predictions); 
 });
 });
</script>

上面的代碼段將打印出通過 img 標簽傳入的圖像的預測邊框,如果換了視頻或通過攝像頭提交圖像幀,那么就可以“跟蹤”在每一幀中出現的手。

3.2 使用 NPM

你可以使用以下命令將 handtrack.js 作為 npm 包來安裝:

npm install --save handtrackjs

然后,你就可以在web應用程序中導入和使用它的示例:

import * as handTrack from "handtrackjs";

const img = document.getElementById("img");

// Load the model.
handTrack.load().then(model => {
 // detect objects in the image.
 console.log("model loaded")
 model.detect(img).then(predictions => {
 console.log("Predictions: ", predictions); 
 });
});

3.3 Handtrack.js 的 API

Handtrack.js 提供了2個主要的方法, load() 方法和 detect() 方法,分別用于加載手部檢測模型和獲取預測結果。

load() 方法:接收一個可選的模型參數,返回一個模型對象,通過該可選模型參數來允許用戶控制模型的性能:

const modelParams = {
 flipHorizontal: true, // flip e.g for video 
 imageScaleFactor: 0.7, // reduce input image size for gains in speed.
 maxNumBoxes: 20,  // maximum number of boxes to detect
 iouThreshold: 0.5,  // ioU threshold for non-max suppression
 scoreThreshold: 0.79, // confidence threshold for predictions.
}

handTrack.load(modelParams).then(model => {

});

detect() 方法 :接收一個輸入源參數(可以是img、video或canvas對象),返回圖像中手部位置的邊框預測結果:

一個帶有類名和置信度的邊框數組。

model.detect(img).then(predictions => { 
  
});

預測結果格式如下:

[{
 bbox: [x, y, width, height],
 class: "hand",
 score: 0.8380282521247864
}, {
 bbox: [x, y, width, height],
 class: "hand",
 score: 0.74644153267145157
}]

Handtrack.js 還提供了其他的方法:

  •  model.getFPS() : 獲取FPS,即每秒檢測次數;
  • model.renderPredictions(predictions, canvas, context, mediasource) : 在指定的畫布上繪制邊框(和源圖像)。其中 predictionsdetect() 方法的結果數組。 canvas 是對渲染 predictionshtml canvas 對象的引用, context 是canvas 2D上下文對象, mediasource 是對 predictions 中使用的輸入幀(img、視頻、canvas等)的引用(首先渲染它,并在其上繪制邊框)。
  • model.getModelParameters() : 返回模型參數;
  • model.setModelParameters(modelParams) : 更新模型參數;
  • dispose() : 刪除模型實例;
  • startVideo(video) : 在給定的視頻元素上啟動攝像頭視頻流。返回一個 promise ,可用于驗證用戶是否提供了視頻權限的;
  • stopVideo(video) : 停止視頻流;

4、下一步 計算消耗大,這主要是因為在預測邊界框時需要進行神經網絡操作,這是后續需要改進和優化的一個點; 跨幀跟蹤ID:實現在每個對象進入一幀時為其分配 ID 并持續跟蹤; 添加一些離散的姿勢:例如,不只是手,而是檢測張開的手、拳)。

5、參考資料

Handtrack.js庫的源代碼: https://github.com/victordibi...

線上Demo: https://victordibia.github.io...

Egohands數據集: http://vision.soic.indiana.ed...

到此這篇關于Handtrack.js庫實現實時監測手部運動(推薦)的文章就介紹到這了,更多相關監測手部運動的 JS 庫內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://segmentfault.com/a/1190000039193390

延伸 · 閱讀

精彩推薦
  • js教程Javascript實現關閉廣告效果

    Javascript實現關閉廣告效果

    這篇文章主要為大家詳細介紹了Javascript實現關閉廣告效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    愛前端的茂茂4622022-01-11
  • js教程原生js 實現表單驗證功能

    原生js 實現表單驗證功能

    這篇文章主要介紹了原生js如何實現表單驗證功能,幫助大家更好的理解和使用JavaScript,感興趣的朋友可以了解下...

    蔣偉平7002022-01-19
  • js教程js+html+css實現手動輪播和自動輪播

    js+html+css實現手動輪播和自動輪播

    這篇文章主要為大家詳細介紹了js+html+css實現手動輪播和自動輪播效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考...

    南柯Seven9372021-12-22
  • js教程Selenium執行JavaScript腳本的方法示例

    Selenium執行JavaScript腳本的方法示例

    這篇文章主要介紹了Selenium執行JavaScript腳本的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友...

    測試開發小記6382021-12-23
  • js教程mustache.js實現首頁元件動態渲染的示例代碼

    mustache.js實現首頁元件動態渲染的示例代碼

    這篇文章主要介紹了mustache.js實現首頁元件動態渲染的示例代碼,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可...

    code2roc4232021-12-21
  • js教程Handtrack.js庫實現實時監測手部運動(推薦)

    Handtrack.js庫實現實時監測手部運動(推薦)

    這篇文章主要介紹了實時監測手部運動的 JS 庫,可以實現很多有趣功能,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要...

    開源前哨6682022-01-19
  • js教程原生JavaScript實現購物車

    原生JavaScript實現購物車

    這篇文章主要為大家詳細介紹了原生JavaScript實現購物車,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    棟棟很優秀啊4312021-12-29
  • js教程詳解uniapp的全局變量實現方式

    詳解uniapp的全局變量實現方式

    這篇文章主要介紹了詳解uniapp的全局變量實現方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下...

    繭君10902021-12-29
主站蜘蛛池模板: 亚洲精品无码专区在线播放 | 国产一区二区三区久久 | 都市激情 亚洲 | 黄色电影免费在线观看 | 欧美二区在线 | 三级成人在线 | 黄色片视频免费观看 | 欧美精品一区在线 | 精品一区二区电影 | 欧美国产一区二区 | 自拍偷拍专区 | 亚洲国产精品一区二区三区 | 久久久久中文字幕 | 欧美专区在线观看 | 中文字幕一区二区三区日韩精品 | 黄色片视频免费看 | 国产精品综合在线 | 九九精品视频在线观看 | 色爽 | 久久久久久高清 | 精品美女在线观看视频在线观看 | 日韩a∨精品日韩在线观看 国产高清视频在线观看 | 成人福利在线观看 | 蜜桃一区二区 | 欧美日韩中文在线观看 | 日韩一区在线视频 | 国产精品一区在线观看 | 成人av电影网| 中文字幕一区二区三区在线视频 | 在线视频一区二区 | 欧美一区二区三区在线 | 国产精品久久久久久久久福交 | 蜜桃精品在线 | 久久久91精品国产一区二区三区 | 久久久久久久成人 | 婷婷久久综合 | 国产成人精品一区二区三区四区 | 久久精品六 | 国产高清av在线一区二区三区 | 四虎影视永久免费观看 | av超碰|