跳到主要内容

多图形遮罩组件

组件原理

本组件允许用户自定义图形区域,如下图左侧绿色图形,组件将输入图像的相应区域像素归零/变为背景,结果如右下图所示。如果输入图像是灰度图,像素归零指把像素灰度值变为0,如果输入图像是彩色图,像素归零指把像素值变为(0,0,0)。企业微信截图_16069753055925.png 如果您想将图形所在的位置归零,请使用“多图形Mask前景”组件:https://xuelangyun.yuque.com/docs/share/36cc9124-d447-4eb7-933e-bc4a0a54ac40?# 《多图形Mask前景》

本组件提供三种入参模式:

  1. 使用右面版的参数
    1. 右面版配置组件“接收上游节点数据方式”为“异步接收”。
    2. 在右面版配置图形参数。
  2. 使用前端页面配置的参数
    1. 右面版配置组件“接收上游节点数据方式”为“异步接收”。
    2. 使用调参模式打开前端页面进行调参,具体操作见下文。
  3. 使用上游节点提供的运行参数
    1. 右面版配置组件“接收上游节点数据方式”为“同步接收”。
    2. 组件运行时,同时接收上游节点传递的图片和参数,使用参数对图像进行从处理。

输入

  • 图像
    • Type: Npy
  • 参数
    • Type: Json
    • 使用上游节点提供的运行参数进行运算,支持两种情形:
      • 永久修改组件参数
      • 不修改组件参数,只用作本次运算
    • 示例
{
"status": "update",
"configs": [{"type": "RECT", "coordinate": [0, 0, 2592, 642]}]
}
  • status
    • Type: String
    • 选项:
      • "update"
        • 替换组件内部参数,如在调参状态,最新的参数和结果图将被推送给前端
      • "runtime"
        • 不会更改组件内部参数,仅用于处理本张图
  • configs
    • Type: Json
    • 多边形坐标
    • 多边形坐标格式支持VIA画图框架使用的格式
      • 矩形:
        • 左上顶点X,左上顶点Y,右下顶点X,右下顶点Y
{
"type": "RECT",
"coordinate": [1122, 625, 1784, 1047]
}
     - 多边形:
- 顶点坐标X和Y
{
"type": "POLYGON",
"coordinate": [
[242, 253],
[835, 382],
[650, 869],
[168, 661],
[115, 340],
[242, 253]
]
}
     - 圆形:
- 圆心坐标X,圆心坐标Y,圆半径
{
"type": "CIRCLE",
"coordinate": [513, 1434, 215]
}

注意:参数为可选输入,如果参数为空,组件需要设置为异步接收,反之同步接收。如果参数为空,将会使用右面版配置的参数。

输出

  • 结果图
    • Type: Npy
  • 判定结果
    • Type: Json
    • 当前端页面对参数进行修改的时候,新的参数从该端口输出。如无更改,不输出。
    • 格式与输入的configs参数相同
    • 示例:
[{"type": "RECT", "coordinate": [0, 0, 2592, 642]}]

参数配置

企业微信截图_16069658514378.png

  • 遮罩图形
    • Type: Array
    • 多边形的坐标
    • 格式与输入的configs参数相同

使用示例

1. 创建新模板,拖入下列组件,并连接。企业微信截图_16069658342044.png 2. 点击“多图形遮罩”组件,在右面版配置“接收上游节点数据方式”,部署,点击“调参”进入组件前端调参页面。企业微信截图_16069658861984.png 3. 在“图片上传”组件上传测试图片,并在“定时触发”组件使用手动触发模式触发一次图片发送。
4. 在前端页面,在左上角工具栏上选择合适的画图工具,比如“矩形”,然后再左边图上合适位置画图,点击“确认”按钮,既可以在右边区域浏览遮罩结果图。企业微信截图_16069658083955.png