跳到主要內容

AI 驅動文件

您想了解什麼?

裁剪的 ROI 端點(僅分類)

OV10i 注意

OV10i 僅支援 分類 模型。此頁面提到的分割功能在 OV20iOV80i 相機上可用。

概述

cropped_roi 端點提供對裝置上執行的 Haystack 中生成的 裁剪的感興趣區域(ROIs) 的訪問,這些 ROIs 是從 分類結果 中生成的。

僅分類

Haystack 目前不支援分割結果。此端點僅適用於分類型別的結果。如果您需要以程式設計方式處理分割器輸出,請使用標準的檢測結果 API。

基本 URL 格式為:

http://{device-ip}/edge/haystack/cropped_roi/{classification_result_id}

工作原理

當相機完成 分類捕獲 時,Node-RED 流會透過配對裝置 IP 和分類結果 ID 動態構建裁剪 ROI 影象的 URL:

const imageUrl = `http://${baseUrl}/edge/haystack/cropped_roi/${result.id}`;

每個 URL 提供一個對應於單個分類 ROI 的裁剪影象,通常代表一次單獨的檢測。


Node-RED 流概述

ROI_Crop 流執行以下操作:

  1. 提取裝置 IP

    • 解析 image_url 欄位以查詢 IP(例如 192.168.0.101
    • 全域性儲存以供重用
  2. 查詢最新捕獲資料

    • 向裝置的 PostgREST API 傳送 GET 請求:

      http://{device-ip}/postgrest/captures?select=...
      &order=id.desc&limit=1
    • 檢索最新的捕獲和所有 classification_result 條目

  3. 僅篩選分類結果

    • 跳過分割或對齊結果

    • 遍歷每個分類結果:

      classificationResults.forEach(result => {
      const roiName = result.roi_result?.inspection_region?.name || `ROI_${result.id}`;
      const imageUrl = `http://${baseUrl}/edge/haystack/cropped_roi/${result.id}`;
      imageMap[roiName] = imageUrl;
      });
  4. 輸出裁剪的 ROI URLs

    • 將所有 ROI 影象連結儲存到全域性 imageMap
    • 返回最新裁剪 ROI 影象 URL 的列表

image1.png

image2.png


示例用法

獲取裁剪的 ROI 影象

curl http://192.168.0.101/edge/haystack/cropped_roi/42 -o roi_42.jpg

在 Web 介面中使用

<img src="http://192.168.0.101/edge/haystack/cropped_roi/42" alt="Cropped ROI 42">

輸出示例

{
"ROI_1": "http://192.168.0.101/edge/haystack/cropped_roi/1",
"ROI_2": "http://192.168.0.101/edge/haystack/cropped_roi/2"
}

引數

引數型別描述
device-ipstring相機的 IP 地址(例如 192.168.0.101

整合流程

  1. 透過 /postgrest/captures 獲取最新的捕獲後設資料。
  2. 識別可用的 classification_result ID。
  3. 為每個結果構建裁剪的 ROI URL。
  4. 顯示或下載這些影象以進行分析、訓練資料或質量檢查。

下載 Node-RED 流程

  • ROI 裁剪流程 (JSON) - 提取裁剪 ROI 影象的完整 Node-RED 流程
    • 直接將此流程匯入 Node-RED 以訪問裁剪的分類 ROI
    • 適用於 OV10i 和 OV80i 系統