0.0.7 • Published 8 months ago

simple-image-label v0.0.7

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

simple-image-label

View English readme | 查看中文版readme
Simple image annotate use in JavaScript , support YOLO and VOC annotate point for object detection or deep-learning.

Preview

preview

Use in your project

Install simple-image-label

# npm
npm install simple-image-label -S
# yarn
yarn add simple-image-label
# pnpm
pnpm add simple-image-label

Use in JavaScript

<div id="YourElementId"></div>
// use require
const SimpleImageLabel = require('../libs/simpleImageLabel').default
// use es6 import
import SimpleImageLabel from '../libs/simpleImageLabel'
// use simple image label in your html element, must use id selector
const simpleImageLabel = new SimpleImageLabe({
    el: 'YourElementId', 
    imageUrl: 'yourImageUrl', 
    labels: [],
    contextmenu: (e) => {
        // mouse right click event
    },
    labelClick: (label) => {
        // label click event
    },
    error: (err) => {
        // error event
        console.log(err);
    }
});

Use in vue3

<template>
    <div id="YourElementId"></div>
</template>
<script setup>
import SimpleImageLabel from 'simple-image-label'
import { ref, onMounted } from 'vue';
const simpleImageLabel = ref(null);
onMounted(() => {
    simpleImageLabel.value = new SimpleImageLabel({
        el: 'YourElementId'
        imageUrl: props.imageUrl,
        labels: props.labels,
        contextmenu: (e) => {
            emit('contextmenu', e)
        },
        labelClick: (label) => {
            emit('labelClick', label)
        },
        error: (e) => {
            emit('error', e)
        }
    });
})
</script>

Use in React

import SimpleImageLabel from 'simple-image-label';
import img from './x.png'
import { useEffect } from 'react';
const ImageLabelComponent = () => {
    let simpleImageLabel = null
    useEffect(() => {
        initSimpleDom()
    }, [])
    function initSimpleDom() {
        simpleImageLabel = new SimpleImageLabel({
            el: 'YourElementId',
            imageUrl: img,
            labels: [],
            contextmenu: (e) => {
                console.log(e);
            },
            labelClick: (label) => {
                console.log(label);
            },
            error: (e) => {
                console.log(e);
            }
        })
    }
    function getAllLabels() {
        const labels = simpleImageLabel.getLabels()
        console.log('labels', labels);
    }
    return (
        <div>
            <div id="YourElementId"></div>
            <button onClick={getAllLabels}>Get all labels</button>
        </div>
    );
}
export default ImageLabelComponent;

Develop & Install & Run demo

Install

# npm
npm install
# yarn
yarn
# pnpm
pnpm install

Run

# npm
npm run start
# yarn
yarn start
# pnpm
pnpm run start

Build

# npm
npm run build
# yarn
yarn build
# pnpm
pnpm run build

API

SimpleImageLabel options

PropertyTypeDescription
elstringHtml element id
imageUrlstringImage path
labelsarraydefault labels
readOnlybooleanEnable/Disable read only mode
contextmenufunctionright click event
labelClickfunctionleft click event
errorfunctionerror event

SimpleImageLabel function

functionparamsDescription
getLabels()-Get all labels
activeLabel()-Get active label
setImage(imageUrl)imageUrlSet image
setLabels(labels)labelsSet labels
getImageInfo()-Get image width and height
getCoordinate(label)labelGet label coordinate
getLabelsCoordinate()-Get all labels coordinate
convertToYoloCoordinate(label)labelGet label YOLO coordinate
getLabelsYoloCoordinate()-Get all labels YOLO coordinate
setLabelActive(uuid)uuidSet label active status by uuid
clearAllLabelActive()-Clear active status
removeAllLabels()-Remove all labels
removeLabelByUuid(uuid)uuidRemove a label by uuid
setLabelByUuid(uuid, attr)uuid, attrSet label attr by uuid. attr type is object
getLabelByUuid(uuid)uuidGet label by uuid
setReadOnly(readOnly)readOnlySet read only mode.readOnly type is boolean
0.0.7

8 months ago

0.0.6

8 months ago

0.0.5

8 months ago

0.0.4

8 months ago

0.0.3

8 months ago

0.0.2

8 months ago

0.0.1

8 months ago