AI 驱动文档
您想了解什么?
裁剪 ROI 端点(仅分类)
概览
该 cropped_roi 端点提供对在设备上运行的 Haystack 中由 分类结果 生成的 裁剪后的 ROI(ROIs) 的访问。
仅限分类
Haystack 目前不支持分割结果。此端点仅适用于分类类型结果。如需以编程方式处理分割器输出,请改用标准的 inspection results API。
基准 URL 格式为:
http://{device-ip}/edge/haystack/cropped_roi/{classification_result_id}
工作原理
当相机完成一个 classification capture 时,Node-RED 流会通过将设备 IP 与 classification result ID 配对,动态构造裁剪后的 ROI 图像的 URL:
const imageUrl = `http://${baseUrl}/edge/haystack/cropped_roi/${result.id}`;
每个 URL 提供一个对应于单个 classification ROI 的裁剪图像,通常表示一次单独的检查。
Node-RED Flow Summary
ROI_Crop 流执行以下操作:
-
提取设备 IP 地址
- 解析
image_url字段以找到 IP(例如192.168.0.101) - 全局存储以便重复使用
- 解析
-
查询最新捕获数据
-
向设备的 PostgREST API 发送 GET 请求:
http://{device-ip}/postgrest/captures?select=...
&order=id.desc&limit=1 -
检索最近的捕获以及所有 classification_result 条目
-
-
仅筛选 Classification Results
-
跳过 segmentation 或 alignment 结果
-
遍历每个 classification_result:
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;
});
-
-
输出裁剪 ROI 的 URL
- 将所有 ROI 图像链接保存到全局
imageMap - 返回最新裁剪 ROI 图像的 URL 列表
- 将所有 ROI 图像链接保存到全局

示例用法
获取裁剪 ROI 图像
curl http://192.168.0.101/edge/haystack/cropped_roi/42 -o roi_42.jpg
在网页界面中的使用
<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-ip | string | 摄像机的 IP 地址(例如 192.168.0.101) |
集成流程
- 通过
/postgrest/captures获取最新的捕获元数据。 - 标识可用的
classification_resultID。 - 为每个结果构建裁剪 ROI 的 URL。
- 显示或下载这些图像以用于分析、训练数据或 QA 检查。
下载 Node-RED Flow
- ROI Crop Flow (JSON) - 用于提取裁剪 ROI 图像的完整 Node-RED flow
- 将此 flow 直接导入 Node-RED 以访问裁剪的 classification ROIs
- 可用于 OV20i 与 OV80i 系统