整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          前端也智能?Javascript實現人臉檢測

          前端也智能?Javascript實現人臉檢測

          一直對人工智能有著極大興趣,無奈腦袋再大也無法想象那是一種怎樣的算法實現機制,因此無論是遇到聲音識別、色彩識別還是人臉檢測的需求,我都說不會、不知道、不了解!

          今天給大家介紹的tracking.js庫帶來不同的計算機視覺算法和技術,在瀏覽器環境。通過使用現代的HTML5規范,我們讓你做實時色彩跟蹤,人臉檢測以及更多,小伙伴們終于可以發揮自己無限的想象力了。

          下面是一些效果圖。

          這個游戲 呢 是開啟攝像頭后,根據玩家頭的轉向進行控制的,非常有意思。

          雖然看上去挺高深的但是使用起來卻很方便。

          第1步:創建示例文件

          在此步驟中,您將創建下示例文件examples/夾到您解壓的本地驅動器下的項目。進入該目錄,并創建一個名為在你喜歡的編輯器文件。起始文件看起來像這樣:first_tracking.html

          <!doctype html><html><head>

          <meta charset="utf-8">

          <title>tracking.js - first tracking</title>

          <script src="../build/tracking-min.js"></script></head><body>

          <script>

          // Start tracking here...

          </script></body></html>

          步驟2:選擇需要的功能

          現在,你有示例文件創建的,它的時間來選擇你要在行動中看到什么技術。有此頁面上提供了幾個例子,第一個,的跟蹤,僅僅是一個抽象類的其他跟蹤技術基礎,不能被實例化。一個很好的選擇下手的是ColorTracker,復制本部分提供的片段,并貼到您的示例文件,它到底應該是這個樣子:first_tracking.html

          <!doctype html><html><head>

          <meta charset="utf-8">

          <title>tracking.js - first tracking</title>

          <script src="../build/tracking-min.js"></script></head><body>

          <video id="myVideo" width="400" height="300" preload autoplay loop muted></video>

          <script>

          var colors=new tracking.ColorTracker(['magenta', 'cyan', 'yellow']);

          colors.on('track', function(event) {

          if (event.data.length===0) { // No colors were detected in this frame.

          } else {

          event.data.forEach(function(rect) {

          console.log(rect.x, rect.y, rect.height, rect.width, rect.color);

          });

          }

          });

          tracking.track('#myVideo', colors); </script></body></html>

          這個例子會要求你出現在它的前置攝像頭和跟蹤品紅,青色和黃色。看看你的周圍,抓住這些顏色中的一種匹配的任何對象,看你的瀏覽器的控制臺,它應該顯示所有找到的對象的坐標。

          項目的官網是:https://trackingjs.com/docs.html#introduction

          或者直接用github搜tracking.

          就這么多,enjoy it!!!

          inux簡單操作命令回顧:

          pwd# 顯示當前工作目錄的絕對路徑

          ls # 列出目錄內容

          ls -a # 列出全部文件,包括隱藏文件

          ls -l # 列出全部文件,包括文件屬性和權限等

          cd# 來切換目錄

          cd ~ # 回到自己的家目錄

          cd - # 回到上一次所在目錄

          cd .. # 回到當前目錄的上一級目錄

          mkdir # 創建一個新的目錄

          mkdir -p # 創建多層目錄

          touch # 加文件名來創建空文件

          rm # 刪除指定的文件

          rm -f # 刪除指定的文件而不提示確認

          cat # 查看文件內容,從第一行開始顯示,適合查看小文件

          cat -n # 查看文件內容同時顯示所有的行號,包括空行

          more # 分屏查看文件內容。空格向下翻一頁,回車向下翻一行,Ctrl+F向下滾一屏,Ctrl+B返回上一屏,=輸出當前行號,:f輸出文件名和當前行號,q離開more不再顯示

          less # 分屏顯示文件內容,根據顯示需要加載內容,適合查看大型文件。空格向下翻一頁,pgup向下翻一頁,pgdn向上翻一頁,/字串向下搜尋字串n向下找N向上找,?字串向上搜尋字串n向上找N向下找,q離開

          head -n # 查看文件頭數行內容

          tail # 查看文件尾部內容,默認顯示后10行內容

          tail -n# 查看文件尾部數行內容

          cat 文件名1>文件名2 # 重定向>將命令結果重定向到一個文件,本應顯示在終端上的內容保存到指定文件夾中;>>追加內容

          | #管道,把左邊的命令返回的結果交給右邊命令進行處理

          find 搜索范圍文件路徑 -name 指定的文件名 # 根據名稱查找搜索范圍下指定格式的文件

          find 搜索范圍文件路徑 -user 用戶名 # 根據用戶名查找搜索范圍下用戶名為指定用戶名的文件

          find 搜索范圍文件路徑 -size +n # 根據文件大小查找搜索范圍下文件大小大于n的文件(+n:大于,-n:小于,n:等于)

          ls | grep -n 原文件 # 查找某文件在第幾行。用ls查找看的時候也要用ls,即兩個要匹配否則行號會出錯


          一、linux環境部署

          Linux環境使用建議只進行Jmeter場景的執行操作,腳本編寫驗證的過程建議在Windows下完成后上傳到Linux服務器上。


          使用目的:防止由于網絡問題導致的壓不上去的問題,由于客戶端資源使用情況導致壓力壓不上去的問題。

          1、linux上安裝部署jmeter

          jdk環境部署,配置環境變量,驗證安裝是否成功java -version

          jmeter環境部署,配置環境變量,驗證安裝是否成功jmeter -v

          2、linux執行jmeter腳本

          將本地生成的jmx文件上傳至linux平臺,執行命令:

          jmeter -n -t 腳本文件 -l 日志文件 -e -o 指定目錄

          DOS命令執行測試腳本生成html格式的測試報告

          jmeter -n -t /home/yace/scrpts/data.jml -l result.jtl 生成日志文件可在jmeter GUI界面,聚合 里打開

          -n:no-gui,無圖形化界面執行,命令行模式

          -t:jmx腳本文件路徑

          -l:日志,jtl結果文件存放路徑

          -e:生成

          -o:指定html報表生成到哪個文件夾下

          jmeter -g result.jtl -o report

          -g:指定jtl文件路徑

          -o:指定html報表生成到哪個個文件夾下


          Jmeter自帶了一個生成HTML報表的功能,功能強大,生成的報表中既包含了類似聚合報告中的最終匯總結果,還有各請求的性能曲線圖,包括TPS、響應時間等等。


          大多情況下,Jmeter自帶的HTML報表功能已經能滿足我們的需求。但是,此功能有一個比較大的缺陷,那就是性能比較差,換句話說就是分析很慢。TPS越高、執行時間越長、生成的jtl文件越大,分析的越慢。

          3、下載jmeter-graph.jar 包,上傳至linux服務器

          相比Jmeter自帶的HTML報表,它具備以下優點:

          1、統計結果所需時間很短,速度比原生報表快將近30倍。

          2、簡化了一些不必要的性能數據統計,保留了核心性能數據,如,TPS統計、平均響應時間、90%、95%、99%響應時間、錯誤率,以及TPS曲線圖、平均響應時間曲線圖。

          4、生成報告

          java -jar jmeter -graph.jar jtl 文件路徑 統計間隔時間(秒)

          java -jar jmeter -graph.jar result.jtl 10

          5、文件夾壓縮

          ls 查看目錄內容


          tar -cvzf 壓縮包包名 文件1 文件2....

          -c生成檔案文件,創建打包文件

          -v列出歸檔解擋的詳細過程,顯示進度

          -f指定檔案文件名稱

          -t列出檔案中包含的文件

          -x解開檔案文件

          -z有gzip屬性的

          -j有bz2屬性的


          打包,壓縮,解壓,解包

          tar –cvf jpg.tar *.jpg // 將目錄里所有jpg文件打包成 jpg.tar

          tar –czf jpg.tar.gz *.jpg // 將目錄里所有jpg文件打包成 jpg.tar 后,并且將其用 gzip 壓縮,生成一個 gzip 壓縮過的包,命名為 jpg.tar.gz

          tar -zxvf jpg.tar.gz -c batr //解壓

          tar –cjf jpg.tar.bz2 *.jpg // 將目錄里所有jpg文件打包成 jpg.tar 后,并且將其用 bzip2 壓縮,生成一個 bzip2 壓縮過的包,命名為jpg.tar.bz2

          tar –xjf jpg.tar.bz2 -c jtar //解壓

          zip -r zz.zip *.txt //zip -r zz *.txt,zz代表要生成的壓縮文件,不需要擴展名,會自動生成zip擴展名,-r壓縮所有子目錄

          unzip -d zz file.zip // 解壓 zip,-d解壓目錄


          壓縮率zip<gzip<bzip2

          通用性zip>gzip>bzip2

          6、復制文件下載

          拷貝:cp 1.txt a //將1.txt文件復制到a文件夾下

          移動:mv abc.txt a //將abc.txt移動到a文件夾下


          cat -n sys.log | tail -n +100000 | head -n 20 #-n顯示行號,查看日志特定行數范圍內容

          cat order.log | grep '下單成功' lwc #lwc行數、字數、字節數


          7、linux命令補充

          1、linux修改hosts

          sudo是linux系統中一種很常見的權限管理機制,允許非root用戶以特定的身份執行特定的命令。

          由于hosts文件位于系統目錄下,普通用戶無法直接修改。因此,我們需要進入root用戶模式。在終端中輸入以下命令:

          sudo su

          vi /etc/hosts

          修改完hosts文件后,按下Esc鍵退出編輯模式,然后輸入:wq命令保存并退出。

          2、網絡檢測 ping www.baidu.com

          3、查找文件find、grep

          4、查看某日志特定行數范圍內的內容

          cat -n sys.log | tail -n +10000 | head -n 20

          第一個數字代表日志起始行數 第二個數字代表要看的內容有多少行

          cat xiadan.lpg | grep '下單成功' | wc lwc行數字數字節數

          ?4.1 基本類型和引用類型的值

          • 基本類型:Undefined、Null、Boolean、Number、String
          • 引用類型:除基本類型外的

          4.1.1 動態的屬性

          引用類型可動態創建屬性(即先創建對象,后添加屬性和方法)。

          var obj=new Object();
          
          obj.name=“伍德春”;

          4.1.2 復制變量值

          如果變量是基本類型值,那么是復制結果,更改其中一個不會影響另一個:

          "use strict";
          
          var num1 =5;
          
          var num2 = num1;
          
          num1 =10;
          
          alert(num2);

          num1更改為10以后,num2還是5,并不受其影響。

          如果變量是引用類型的值,那么兩個變量都指向同一對象(即新復制的變量也是指向同一內存地址的):

          var num1 = new Object();
          
          var num2 = num1;
          
          num1.name = "伍德春";
          
          alert(num2.name);

          4.1.3 傳遞參數

          所有函數的參數都是按值傳遞,即基本類型在函數中修改變量的值時,外部原變量不會更改,因為是修改的復制對象;而引用類型由于是指向的同一地址的內容,所以在函數內部修改后,外部的也變化了。

          function change(v1) {
          
             v1=10;
          
          }
          
          var v=20;
          
          change(v);
          
          alert(v);   // 20
          
          function changeObj(obj){
          
             obj.name="伍德春";
          
          }
          
          var person=new Object();
          
          person.name="李四";
          
          changeObj(person);
          
          alert(person.name);

          4.1.4 檢測類型

          結果=變量 instanceof 類型

          4.2 執行環境及作用域

          書中描述太復雜了,如果畫兩個圈,外面一個,里面一個,那就是內部可以訪問外部,但外部不能訪問內部。

          4.2.1 延長作用域鏈

          這兩個語句會改變作用域:try-catch、with

          4.2.2 沒有塊級作用域

          • 在javascript中沒有塊級作用域
          • 如果在函數中使用var定義變量,則該變量的使用域在函數體內,如果不使用var,則會變全局變量。

          4.3 垃圾收集

          4.3.1 標記清除

          4.3.2 引用計數

          循環引用時會出錯,需要手動斷開,myObject.element=null(許多語言中是手動釋放)


          主站蜘蛛池模板: 欧美日韩一区二区成人午夜电影| 国产精品综合AV一区二区国产馆| 在线精品亚洲一区二区小说| 免费视频精品一区二区三区| 国模一区二区三区| 国产一区二区三区不卡在线看| 无码精品黑人一区二区三区| 亚洲.国产.欧美一区二区三区| 亚洲国产成人久久综合一区 | 久久国产香蕉一区精品| 无码国产精品一区二区免费式芒果| 国产精品va无码一区二区| 精品一区二区三区四区在线| 色一情一乱一伦一区二区三欧美 | 亚洲一区二区三区国产精品无码| 亚洲国产系列一区二区三区 | 亚洲福利视频一区二区| 久久er99热精品一区二区| 一区五十路在线中出| 中文字幕乱码一区久久麻豆樱花| 亚洲AV成人一区二区三区在线看| 三上悠亚一区二区观看| 日韩精品无码久久一区二区三| 无码一区二区三区| 日韩视频一区二区三区| 国产精品熟女一区二区| 中文字幕人妻丝袜乱一区三区| 精品一区二区三区中文字幕| 亚洲夜夜欢A∨一区二区三区| 国产视频一区二区| 熟女少妇丰满一区二区| 无码人妻一区二区三区在线水卜樱 | 中文字幕视频一区| 国产大秀视频在线一区二区| 福利国产微拍广场一区视频在线| 日本精品3d动漫一区二区| 精品无码一区二区三区水蜜桃| 精品国产日韩亚洲一区| 亚洲一区二区三区播放在线| 精品免费AV一区二区三区| 亚洲视频免费一区|