Coder Social home page Coder Social logo

chancsc / anno Goto Github PK

View Code? Open in Web Editor NEW

This project forked from urobots-io/anno

0.0 0.0 0.0 13.59 MB

Cross-platform image labeling tool for AI

License: MIT License

Shell 0.02% C++ 81.95% Python 4.62% C 11.72% QMake 0.96% Inno Setup 0.66% Batchfile 0.06%

anno's Introduction

anno

Cross-platform tool for labeling image data. Video introduction to anno.

Features

  • Supports a wide range of marker types:
    • Point
    • Oriented point
    • Axis aligned rectangle
    • Rectangle with rotation
    • Polygon
    • Polyline
  • Configurable rendering of all marker types.
  • Configurable dependencies between properties of markers: i.e. some markers can share width or height or position on image.
  • Supports a wide variety of image formats. Pre-build Windows version supports EXR format.
  • The project file is JSON file wich contains project-specific marker definitions and labeling information.
  • The user interface is optimized for fast sub-pixel accurate labeling.

Requirements

  • Windows / macOS / Ubuntu

Installation

There are options:

Specifications

Project file format:

{
    /** Project definitions. */
    "definitions": {
        /** Folder with images, absolute path or relative path to the project file. */
        "files_root_dir": "c:/images",
        /** A dictionary with marker types definitions. */
        "marker_types": {
            /** Key represents a unique marker type name. */
            "my_marker_type": {
                /** Optional description of the marker type. */
                "description": "use carefully",
                /** Type of the marker. Following types are supported:
                    - circle
                    - oriented_point
                    - oriented_rect    
                    - point
                    - polygon
                    - polyline
                    - rect
                */
                "value_type": "rect",
                /** List of categories */ 
                "categories": [
                    {
                        /** Numerical id of the category */
                        "id": 0,
                        /** Human name of the category */
                        "name": "Ok",
                        /** Color of the category */
                        "color": "red"
                    }
                ],
                
                /** Optional width of lines used to draw the marker. 
                    Negative value defines scale independed width in screen pixels,
                    positive value defines width in image pixels */
                "line_width": -3
                
                /** Advanced parameters: stamp, stamp_parameters, axis_length, 
                    rendering_script, shared_count, 
                    filename_filter, shared_properties, 
                    custom_properties
                */
            }
        },
        /** Optional object, can be used to store user information accosiated with
            the project. Anno does not process or modify it. */
        "user_data": {
        }
    },

    /** List of all labeled files with their markers. */
    "files": [
        {
            /** Path to the image, relative to the files_root_dir. */
            "name": "image.png"
            /** List of all markers present on the image. */
            "markers": [
                {
                    /** Marker category. */
                    "category": 0,
                    /** Marker type name. */
                    "type": "my_marker_type",
                    /** Marker data. */
                    "value": "789.886 627.372 146.942 93.1009 -0.486899"
                }
            ]
        }
    ]
}

The format of the marker data depends on the type of marker value:

  • circle: center_x center_y radius
  • oriented_point: x y angle
  • oriented_rect: center_x center_y width height angle
  • point: x y
  • polygon: x0 y0 x1 y1 ... xN yN
  • polyline: x0 y0 x1 y1 ... xN yN
  • rect: x0 y0 x1 y1

All coordinates are in image pixels, angles are in radians.

anno's People

Contributors

multilexa avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.