# Adapted LabelImg for Enhanced User Experience
This repository is a copy from [HumanSignal/labelImg](https://github.com/HumanSignal/labelImg). The original repository is archived and no longer being maintained. So I make a copy from the latest version (1.8.6) to modify some function and fix some error for personal use.
[Original README](./original_README.rst)
## Installation
### Install with pip
``` bash
pip install -U mlabelImg
```
### Install from source
``` bash
git clone https://github.com/PD-Mera/mlabelImg
pip install pyqt5 lxml
pyrcc5 -o mlabelImg/libs/resources.py mlabelImg/resources.qrc
pip install -e mlabelImg
```
## Usage
### Setup directory
Create a folder structure same as below
```
├── data
├── images
└── labels
```
Put all of your image in `images` directory. And create a `classes.txt` contain all class you want to label. Example of `classes.txt` as below
``` txt
dog
cat
pig
```
Put `classes.txt` in 2 place, in `labels` directory and same level as `labels` directory
Full structure of workspace as below
```
├── data
├── images
│ ├── img1.jpg
│ ├── img2.jpg
│ └── ...
├── labels
│ └── classes.txt
└── classes.txt
```
### Run mlabelImg
Run mlabelImg with
``` shell
# mlabelImg [IMAGE_PATH] [PRE-DEFINED CLASS FILE]
mlabelImg .\data\images\ .\data\classes.txt
```
On GUI of labelImg:
- `File -> Change Save Dir -> (save label directory)`
- Choose `YOLO` format on the left tray
Next and previous image with `D -> A`
Label with `W`
Delete `.\data\classes.txt` after labeling
### Label format
With `YOLO` format, label will be saved with format `label_index x_center y_center w h` and normalize to scale `[0, 1]`
``` txt
1 0.415842 0.863095 0.102970 0.101190
1 0.228713 0.315476 0.077228 0.053571
1 0.756436 0.328869 0.114851 0.050595
```
## Reference
- Author: TzuTa Lin
- Author Email: tzu.ta.lin@gmail.com
- [tzutalin/labelImg](https://github.com/tzutalin/labelImg)
Raw data
{
"_id": null,
"home_page": "https://github.com/PD-Mera/mlabelImg",
"name": "mlabelImg",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.0.0",
"maintainer_email": null,
"keywords": "labelImg labelTool development annotation deeplearning",
"author": "PD-Mera",
"author_email": "phuongdong1772000@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/a8/d7/8d2313d3a928b741c48af6341904cc3f10c1d5a4130dbcac87fdb64c82e8/mlabelimg-1.8.8.post1.tar.gz",
"platform": null,
"description": "# Adapted LabelImg for Enhanced User Experience\r\n\r\n\r\n\r\nThis repository is a copy from [HumanSignal/labelImg](https://github.com/HumanSignal/labelImg). The original repository is archived and no longer being maintained. So I make a copy from the latest version (1.8.6) to modify some function and fix some error for personal use.\r\n\r\n\r\n\r\n[Original README](./original_README.rst)\r\n\r\n\r\n\r\n## Installation\r\n\r\n\r\n\r\n### Install with pip\r\n\r\n\r\n\r\n``` bash\r\n\r\npip install -U mlabelImg\r\n\r\n```\r\n\r\n\r\n\r\n### Install from source\r\n\r\n\r\n\r\n``` bash\r\n\r\ngit clone https://github.com/PD-Mera/mlabelImg\r\n\r\npip install pyqt5 lxml\r\n\r\npyrcc5 -o mlabelImg/libs/resources.py mlabelImg/resources.qrc\r\n\r\npip install -e mlabelImg\r\n\r\n```\r\n\r\n\r\n\r\n## Usage\r\n\r\n\r\n\r\n### Setup directory\r\n\r\n\r\n\r\nCreate a folder structure same as below\r\n\r\n\r\n\r\n```\r\n\r\n\u251c\u2500\u2500 data\r\n\r\n \u251c\u2500\u2500 images\r\n\r\n \u2514\u2500\u2500 labels\r\n\r\n```\r\n\r\n\r\n\r\nPut all of your image in `images` directory. And create a `classes.txt` contain all class you want to label. Example of `classes.txt` as below\r\n\r\n\r\n\r\n``` txt\r\n\r\ndog\r\n\r\ncat\r\n\r\npig\r\n\r\n```\r\n\r\n\r\n\r\nPut `classes.txt` in 2 place, in `labels` directory and same level as `labels` directory\r\n\r\n\r\n\r\nFull structure of workspace as below\r\n\r\n\r\n\r\n```\r\n\r\n\u251c\u2500\u2500 data\r\n\r\n \u251c\u2500\u2500 images\r\n\r\n \u2502 \u251c\u2500\u2500 img1.jpg\r\n\r\n \u2502 \u251c\u2500\u2500 img2.jpg\r\n\r\n \u2502 \u2514\u2500\u2500 ...\r\n\r\n \u251c\u2500\u2500 labels\r\n\r\n \u2502 \u2514\u2500\u2500 classes.txt\r\n\r\n \u2514\u2500\u2500 classes.txt\r\n\r\n```\r\n\r\n\r\n\r\n### Run mlabelImg\r\n\r\n\r\n\r\nRun mlabelImg with\r\n\r\n\r\n\r\n``` shell\r\n\r\n# mlabelImg [IMAGE_PATH] [PRE-DEFINED CLASS FILE]\r\n\r\nmlabelImg .\\data\\images\\ .\\data\\classes.txt\r\n\r\n```\r\n\r\n\r\n\r\nOn GUI of labelImg: \r\n\r\n\r\n\r\n- `File -> Change Save Dir -> (save label directory)`\r\n\r\n- Choose `YOLO` format on the left tray\r\n\r\n\r\n\r\nNext and previous image with `D -> A`\r\n\r\n\r\n\r\nLabel with `W`\r\n\r\n\r\n\r\nDelete `.\\data\\classes.txt` after labeling\r\n\r\n\r\n\r\n### Label format\r\n\r\n\r\n\r\nWith `YOLO` format, label will be saved with format `label_index x_center y_center w h` and normalize to scale `[0, 1]`\r\n\r\n\r\n\r\n``` txt\r\n\r\n1 0.415842 0.863095 0.102970 0.101190\r\n\r\n1 0.228713 0.315476 0.077228 0.053571\r\n\r\n1 0.756436 0.328869 0.114851 0.050595\r\n\r\n```\r\n\r\n\r\n\r\n## Reference\r\n\r\n\r\n\r\n- Author: TzuTa Lin\r\n\r\n- Author Email: tzu.ta.lin@gmail.com\r\n\r\n- [tzutalin/labelImg](https://github.com/tzutalin/labelImg)\r\n\r\n",
"bugtrack_url": null,
"license": "MIT license",
"summary": "LabelImg is a graphical image annotation tool and label object bounding boxes in images (Modified Version)",
"version": "1.8.8.post1",
"project_urls": {
"Homepage": "https://github.com/PD-Mera/mlabelImg"
},
"split_keywords": [
"labelimg",
"labeltool",
"development",
"annotation",
"deeplearning"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "6dafc6e4e0217270b7135be7c67807ba57bac4c08e59d0d58a5851f6a1448cca",
"md5": "bb2b66f424e9ad0ea150dcae90a458a2",
"sha256": "f0c8e8ff21b9e725038247735f1f528be3a40428ea13a45c69a77e3e89dd7c68"
},
"downloads": -1,
"filename": "mlabelImg-1.8.8.post1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "bb2b66f424e9ad0ea150dcae90a458a2",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.0.0",
"size": 258847,
"upload_time": "2024-05-16T03:30:38",
"upload_time_iso_8601": "2024-05-16T03:30:38.904459Z",
"url": "https://files.pythonhosted.org/packages/6d/af/c6e4e0217270b7135be7c67807ba57bac4c08e59d0d58a5851f6a1448cca/mlabelImg-1.8.8.post1-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a8d78d2313d3a928b741c48af6341904cc3f10c1d5a4130dbcac87fdb64c82e8",
"md5": "86efce941bc7eec8e983c61204266468",
"sha256": "d11f93723e5807065674d2695865ee296bcffec61d640edad96f59d32556b282"
},
"downloads": -1,
"filename": "mlabelimg-1.8.8.post1.tar.gz",
"has_sig": false,
"md5_digest": "86efce941bc7eec8e983c61204266468",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.0.0",
"size": 247177,
"upload_time": "2024-05-16T03:30:40",
"upload_time_iso_8601": "2024-05-16T03:30:40.902874Z",
"url": "https://files.pythonhosted.org/packages/a8/d7/8d2313d3a928b741c48af6341904cc3f10c1d5a4130dbcac87fdb64c82e8/mlabelimg-1.8.8.post1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-16 03:30:40",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "PD-Mera",
"github_project": "mlabelImg",
"travis_ci": true,
"coveralls": false,
"github_actions": false,
"lcname": "mlabelimg"
}