simple-image-label
Version:
Javascript image annotate, use in deep learning
184 lines (165 loc) • 5.6 kB
Markdown
in JavaScript , support YOLO and VOC annotate point for object detection or deep-learning.

```bash
npm install simple-image-label -S
yarn add simple-image-label
pnpm add simple-image-label
```
```html
<div id="YourElementId"></div>
```
```js
// 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);
}
});
```
```html
<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>
```
```jsx
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;
```
Install
```bash
npm install
yarn
pnpm install
```
Run
```bash
npm run start
yarn start
pnpm run start
```
Build
```bash
npm run build
yarn build
pnpm run build
```
| Property | Type | Description |
| ------------- | ---------- | ----------------------------- |
| `el` | `string` | Html element id |
| `imageUrl` | `string` | Image path |
| `labels` | `array` | default labels |
| `readOnly` | `boolean` | Enable/Disable read only mode |
| `contextmenu` | `function` | right click event |
| `labelClick` | `function` | left click event |
| `error` | `function` | error event |
| function | params | Description |
| -------------------------------- | ------------ | --------------------------------------------- |
| `getLabels()` | - | Get all labels |
| `activeLabel()` | - | Get active label |
| `setImage(imageUrl)` | `imageUrl` | Set image |
| `setLabels(labels)` | `labels` | Set labels |
| `getImageInfo()` | - | Get image width and height |
| `getCoordinate(label)` | `label` | Get label coordinate |
| `getLabelsCoordinate()` | - | Get all labels coordinate |
| `convertToYoloCoordinate(label)` | `label` | Get label YOLO coordinate |
| `getLabelsYoloCoordinate()` | - | Get all labels YOLO coordinate |
| `setLabelActive(uuid)` | `uuid` | Set label active status by uuid |
| `clearAllLabelActive()` | - | Clear active status |
| `removeAllLabels()` | - | Remove all labels |
| `removeLabelByUuid(uuid)` | `uuid` | Remove a label by uuid |
| `setLabelByUuid(uuid, attr)` | `uuid, attr` | Set label attr by uuid. `attr` type is object |
| `getLabelByUuid(uuid)` | `uuid` | Get label by uuid |
| `setReadOnly(readOnly)` | `readOnly` | Set read only mode.`readOnly` type is boolean |
[ ](README.md) | [查看中文版readme](README-zh.md)
Simple image annotate use