日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

圖像分類的意義就是從圖像中提取盡可能多的信息。例如,當(dāng)您將圖像上傳到 Google 相冊時,它會從圖像中提取信息并根據(jù)該信息建議位置。

我們可以使用OpenCV檢測圖像中的每一個微小信息并預(yù)測圖像。

使用 JavaScript 從頭開始??訓(xùn)練和測試模型需要付出大量的努力,而且還需要包含不同圖像的正確數(shù)據(jù)集。因此,在本教程中,我們將使用ml5.js的預(yù)訓(xùn)練模型對圖像進行分類。

ml5.js 庫包含各種預(yù)先訓(xùn)練的模型,使開發(fā)人員的工作更輕松。此外,它還使用瀏覽器的 GPU 來執(zhí)行數(shù)學(xué)運算,使其更加高效。

語法

用戶可以按照以下語法使用ml5.js庫對圖像進行分類。

image_classifier.predict(image, function (err, outputs) {
   if (err) {
      return alert(err);
   } else {
      output.innerText = outputs[0].label;
   }
});

登錄后復(fù)制

在上述語法中,“image_classifier”是從 ml5.js 庫導(dǎo)入的預(yù)訓(xùn)練圖像分類模型。我們通過傳遞圖像作為第一個參數(shù)和回調(diào)函數(shù)作為第二個參數(shù)來調(diào)用“預(yù)測”方法。在回調(diào)函數(shù)中,我們得到輸出或錯誤。

步驟

    第 1 步 – 使用 CDN 在網(wǎng)頁代碼中添加“ml5.js”庫。

    第 2 步 – 添加輸入以上傳文件并分類按鈕。

    第 3 步 – 在 JavaScript 中,從 ml5.js 訪問所需的 HTML 元素和“MobileNet”模型。另外,模型加載完成后執(zhí)行 modelLoad() 函數(shù)。

    步驟 4 – 之后,每當(dāng)用戶上傳圖像時,都會觸發(fā)事件并在回調(diào)函數(shù)中讀取圖像。另外,在屏幕上顯示圖像。

    步驟 5 – 當(dāng)用戶按下分類圖像按鈕時,使用圖像分類器的預(yù)測方法來預(yù)測有關(guān)圖像的信息。

    示例 1

    在下面的示例中,我們通過 CDN 將“ml5.js”庫添加到 部分。之后,每當(dāng)用戶上傳圖像時,我們都會讀取它并將其顯示在屏幕上。接下來,當(dāng)用戶按下分類按鈕時,我們使用預(yù)測方法從圖像中提取特征。在輸出中,用戶可以在圖像下方顯示有關(guān)圖像的信息。

    <html>
    <head>
       <script src="https://unpkg.com/ml5@latest/dist/ml5.min.js"></script>
    </head>
    <body>
       <h2>Creating the <i> Image classifier </i> using the ml5.js in JavaScript.</h2>
       <h4 id = "content"> Wait until model loads. </h4>
       <input type = "file" name = "Image" id = "upload_image" accept = "jpg,jpeg,png">
       <br> <br>
       <img src = "" class = "image" id = "show_image" width = "300px" height = "300px">
       <br>
       <button class = "button" id = "triggerClassify"> Classify the image </button>
       <br>
       <h2 id = "output"> </h2>
       <script>
          window.onload = function () {
             // access all HTML elements and image classifier
             const image_classifier = ml5.imageClassifier("MobileNet", modelLoaded);
             const triggerClassify = document.getElementById("triggerClassify");
             const upload_image = document.getElementById("upload_image");
             const show_image = document.getElementById("show_image");
             const output = document.getElementById("output");
             
             // when the model is loaded, show the message
             function modelLoaded() {
                let content = document.getElementById("content");
                content.innerText = "Model is loaded! Now, test it by uploading the image.";
             }
             
             // When the user uploads the image, show it on the screen
             upload_image.onchange = function () {
                if (this.files && this.files[0]) {
                
                   // using FileReader to read the image
                   var reader = new FileReader();
                   reader.onload = function (e) {
                      show_image.src = e.target.result;
                   };
                   reader.readAsDataURL(this.files[0]);
                }
             };
             
             // classify the image when the user clicks the button
             triggerClassify.onclick = function (e) {
             
                // predict the image using the model
                image_classifier.predict(show_image, function (err, outputs) {
                   if (err) {
                      return err;
                   } else {
                   
                      // show the output
                      output.innerText = outputs[0].label;
                   }
                });
             };
          }
       </script>
    </body>
    </html>
    

    登錄后復(fù)制

    示例

    在下面的示例中,用戶可以將圖像鏈接粘貼到輸入字段中。之后,每當(dāng)他們按下獲取圖像按鈕時,它就會在網(wǎng)頁上顯示圖像。接下來,當(dāng)用戶單擊分類圖像按鈕時,他們可以在屏幕上看到包含圖像信息的輸出。

    <html>
    <head>
       <script src="https://unpkg.com/ml5@latest/dist/ml5.min.js"></script>
    </head>
    <body>
       <h2>Creating the <i> Image classifier </i> using the ml5.js in JavaScript.</h2>
       <h4 id = "content"> Wait until model loads. </h4>
       <input type = "text" id = "link_input" placeholder = "Paste image link here">
       <button id = "fetch_image"> Fetch Image </button>
       <br> <br>
       <img src = "" id = "show_image" width = "300px" height = "300px" crossorigin = "anonymous">
       <img src = "" class = "image" id = "imageView">
       <br>
       <button class = "button" id = "triggerClassify"> Classify the image </button>
       <br>
       <h2 id = "output"> </h2>
       <script>
          window.onload = function () {
             // access all HTML elements and image classifier
             const image_classifier = ml5.imageClassifier("MobileNet", modelLoaded);
             const triggerClassify = document.getElementById("triggerClassify");
             let link_input = document.getElementById("link_input");
             const show_image = document.getElementById("show_image");
             const output = document.getElementById("output");
             
             // when the model is loaded, show the message
             function modelLoaded() {
                let content = document.getElementById("content");
                content.innerText = "Model is loaded! Now, test it by uploading the image.";
             }
             fetch_image.onclick = function (e) {
                let link = link_input.value;
                console.log(link);
                if (link != null && link != undefined) {
                   show_image.src = link;
                }
             };
             triggerClassify.onclick = function (e) {
                image_classifier.predict(show_image, function (err, outputs) {
                   if (err) {
                      console.error(err);
                   } else {
                      output.innerText = outputs[0].label;
                   }
                });
             };
          }
       </script>
    </body>
    </html>
    

    登錄后復(fù)制

    用戶學(xué)會了使用 JavaScript 中的預(yù)訓(xùn)練模型對圖像進行分類。我們使用“ml5.js”庫來提取圖像特征。我們可以使用現(xiàn)實生活中的圖像分類對圖像進行分類。此外,圖像分類還有許多其他用例。

    以上就是使用 JavaScript 進行圖像分類的詳細內(nèi)容,更多請關(guān)注www.92cms.cn其它相關(guān)文章!

分享到:
標(biāo)簽:javascript 分類 圖像
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定