Skip to content

Rotate

Rotate layer (rotate) rotates images and its annotations.

Settings

  • rotate_angles
    • min_degrees (type: number)
    • max_degrees (type: number)
  • black_regions
    • mode (type: string, enum: [keep, crop, preserve_size])
{
  "action": "rotate",
  "src": ["$data"],
  "dst": "$result",
  "settings": {
    "rotate_angles": {
      "min_degrees": -45,
      "max_degrees": 45
    },
    "black_regions": {
      "mode": "keep"
    }
  }
}

Each image will be rotated by a random angle (around the image center, CCW) with uniform distribution from min_degrees to max_degrees. You can:

  • keep original image data (mode: keep), then new regions will be filled with black color;

  • crop rotated result to exclude black regions (mode: crop);

  • crop rotated result to preserve original image size and scale of objects (mode: preserve_size);

Example: keep

Rotate images by a random degree from -45 to 45 and keep black regions:

Original Result
[
  {
    "dst": "$data",
    "src": [
      "mini_pascal/*"
    ],
    "action": "data",
    "settings": {
      "classes_mapping": "default"
    }
  },
  {
    "action": "rotate",
    "src": ["$data"],
    "dst": "$result",
    "settings": {
      "rotate_angles": {
        "min_degrees": -45,
        "max_degrees": 45
      },
      "black_regions": {
        "mode": "keep"
      }
    }
  },
  {
    "dst": "example_rotate_keep",
    "src": [
      "$result"
    ],
    "action": "supervisely",
    "settings": {}
  }
]

Example: crop

Rotate images by a fixed degree 45 and crop black regions:

Original Result
[
  {
    "dst": "$data",
    "src": [
      "mini_pascal/*"
    ],
    "action": "data",
    "settings": {
      "classes_mapping": "default"
    }
  },
  {
    "action": "rotate",
    "src": ["$data"],
    "dst": "$result",
    "settings": {
      "rotate_angles": {
        "min_degrees": 45,
        "max_degrees": 45
      },
      "black_regions": {
        "mode": "crop"
      }
    }
  },
  {
    "dst": "example_rotate_crop",
    "src": [
      "$result"
    ],
    "action": "supervisely",
    "settings": {}
  }
]