{"id":13367204,"url":"https://github.com/wkentaro/labelme","last_synced_at":"2025-05-13T11:10:21.318Z","repository":{"id":37630372,"uuid":"58374888","full_name":"wkentaro/labelme","owner":"wkentaro","description":"Image Polygonal Annotation with Python (polygon, rectangle, circle, line, point and image-level flag annotation).","archived":false,"fork":false,"pushed_at":"2025-04-01T11:58:18.000Z","size":48093,"stargazers_count":14450,"open_issues_count":166,"forks_count":3496,"subscribers_count":151,"default_branch":"main","last_synced_at":"2025-05-13T11:09:58.374Z","etag":null,"topics":["annotations","classification","computer-vision","deep-learning","image-annotation","instance-segmentation","python","semantic-segmentation","video-annotation"],"latest_commit_sha":null,"homepage":"https://labelme.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wkentaro.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["wkentaro"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2016-05-09T12:30:26.000Z","updated_at":"2025-05-13T09:47:51.000Z","dependencies_parsed_at":"2022-07-13T18:20:58.990Z","dependency_job_id":"681f2736-f4f0-4f51-a867-5e7dd582b816","html_url":"https://github.com/wkentaro/labelme","commit_stats":{"total_commits":1342,"total_committers":63,"mean_commits":21.3015873015873,"dds":0.2213114754098361,"last_synced_commit":"3fcf5213e67ebfa63601f18f01e6629bc9a56d65"},"previous_names":["wkentaro/labelme","labelmeai/labelme"],"tags_count":207,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wkentaro%2Flabelme","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wkentaro%2Flabelme/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wkentaro%2Flabelme/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wkentaro%2Flabelme/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wkentaro","download_url":"https://codeload.github.com/wkentaro/labelme/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253929367,"owners_count":21985802,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["annotations","classification","computer-vision","deep-learning","image-annotation","instance-segmentation","python","semantic-segmentation","video-annotation"],"created_at":"2024-07-30T00:01:41.392Z","updated_at":"2025-05-13T11:10:21.285Z","avatar_url":"https://github.com/wkentaro.png","language":"Python","funding_links":["https://github.com/sponsors/wkentaro"],"categories":["Toolbox","🎯 Tool Categories","Data Visualization and Mission Control","Summary","Python","Image / video","Labeling Tools","🏷 Data Labelling","对象检测、分割","Object Detection Applications","二、工业表面缺陷检测常用数据集","Image Annotation","Annotation Tools","\u003ca name=\"Tools\"\u003e\u003c/a\u003e6. Tools","Labelling Tools","Image Generation \u0026 Editing","Toolkits \u0026 Libraries"],"sub_categories":["Label tools","🏷️ Data Annotation \u0026 Labeling","Annotation","Open source","Images","网络服务_其他","17）BSData-用于实例细分和工业磨损预测的数据集"],"readme":"\u003ch1 align=\"center\"\u003e\n  \u003cimg src=\"labelme/icons/icon.png\"\u003e\u003cbr/\u003elabelme\n\u003c/h1\u003e\n\n\u003ch4 align=\"center\"\u003e\n  Image Polygonal Annotation with Python\n\u003c/h4\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://pypi.python.org/pypi/labelme\"\u003e\u003cimg src=\"https://img.shields.io/pypi/v/labelme.svg\"\u003e\u003c/a\u003e\n  \u003c!-- \u003ca href=\"https://pypi.org/project/labelme\"\u003e\u003cimg src=\"https://img.shields.io/pypi/pyversions/labelme.svg\"\u003e\u003c/a\u003e --\u003e\n  \u003ca href=\"https://github.com/wkentaro/labelme/actions\"\u003e\u003cimg src=\"https://github.com/wkentaro/labelme/actions/workflows/ci.yml/badge.svg?branch=main\u0026event=push\"\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"#installation\"\u003e\u003cb\u003eInstallation\u003c/b\u003e\u003c/a\u003e\n  | \u003ca href=\"#usage\"\u003e\u003cb\u003eUsage\u003c/b\u003e\u003c/a\u003e\n  | \u003ca href=\"#examples\"\u003e\u003cb\u003eExamples\u003c/b\u003e\u003c/a\u003e\n  \u003c!-- | \u003ca href=\"https://github.com/wkentaro/labelme/discussions\"\u003e\u003cb\u003eCommunity\u003c/b\u003e\u003c/a\u003e --\u003e\n  \u003c!-- | \u003ca href=\"https://www.youtube.com/playlist?list=PLI6LvFw0iflh3o33YYnVIfOpaO0hc5Dzw\"\u003e\u003cb\u003eYoutube FAQ\u003c/b\u003e\u003c/a\u003e --\u003e\n\u003c/div\u003e\n\n\u003cbr/\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"examples/instance_segmentation/.readme/annotation.jpg\" width=\"70%\"\u003e\n\u003c/div\u003e\n\n## Description\n\nLabelme is a graphical image annotation tool inspired by \u003chttp://labelme.csail.mit.edu\u003e.  \nIt is written in Python and uses Qt for its graphical interface.\n\n\u003cimg src=\"examples/instance_segmentation/data_dataset_voc/JPEGImages/2011_000006.jpg\" width=\"19%\" /\u003e \u003cimg src=\"examples/instance_segmentation/data_dataset_voc/SegmentationClass/2011_000006.png\" width=\"19%\" /\u003e \u003cimg src=\"examples/instance_segmentation/data_dataset_voc/SegmentationClassVisualization/2011_000006.jpg\" width=\"19%\" /\u003e \u003cimg src=\"examples/instance_segmentation/data_dataset_voc/SegmentationObject/2011_000006.png\" width=\"19%\" /\u003e \u003cimg src=\"examples/instance_segmentation/data_dataset_voc/SegmentationObjectVisualization/2011_000006.jpg\" width=\"19%\" /\u003e  \n\u003ci\u003eVOC dataset example of instance segmentation.\u003c/i\u003e\n\n\u003cimg src=\"examples/semantic_segmentation/.readme/annotation.jpg\" width=\"30%\" /\u003e \u003cimg src=\"examples/bbox_detection/.readme/annotation.jpg\" width=\"30%\" /\u003e \u003cimg src=\"examples/classification/.readme/annotation_cat.jpg\" width=\"35%\" /\u003e  \n\u003ci\u003eOther examples (semantic segmentation, bbox detection, and classification).\u003c/i\u003e\n\n\u003cimg src=\"https://user-images.githubusercontent.com/4310419/47907116-85667800-de82-11e8-83d0-b9f4eb33268f.gif\" width=\"30%\" /\u003e \u003cimg src=\"https://user-images.githubusercontent.com/4310419/47922172-57972880-deae-11e8-84f8-e4324a7c856a.gif\" width=\"30%\" /\u003e \u003cimg src=\"https://user-images.githubusercontent.com/14256482/46932075-92145f00-d080-11e8-8d09-2162070ae57c.png\" width=\"32%\" /\u003e  \n\u003ci\u003eVarious primitives (polygon, rectangle, circle, line, and point).\u003c/i\u003e\n\n\n## Features\n\n- [x] Image annotation for polygon, rectangle, circle, line and point. ([tutorial](examples/tutorial))\n- [x] Image flag annotation for classification and cleaning. ([#166](https://github.com/wkentaro/labelme/pull/166))\n- [x] Video annotation. ([video annotation](examples/video_annotation))\n- [x] GUI customization (predefined labels / flags, auto-saving, label validation, etc). ([#144](https://github.com/wkentaro/labelme/pull/144))\n- [x] Exporting VOC-format dataset for semantic/instance segmentation. ([semantic segmentation](examples/semantic_segmentation), [instance segmentation](examples/instance_segmentation))\n- [x] Exporting COCO-format dataset for instance segmentation. ([instance segmentation](examples/instance_segmentation))\n\n\n## Installation\n\nThere are 3 options to install labelme:\n\n### Option 1: Using pip\n\nFor more detail, check [\"Install Labelme using Pip\"](https://www.labelme.io/docs/install-labelme-pip).\n\n```bash\npip install labelme\n```\n\n### Option 2: Using standalone executable (Easiest)\n\nIf you're willing to invest in the convenience of simple installation without any dependencies (Python, Qt),\nyou can download the standalone executable from [\"Install Labelme as App\"](https://www.labelme.io/docs/install-labelme-app).\n\nIt's a one-time payment for lifetime access, and it helps us to maintain this project.\n\n### Option 3: Using a package manager in each Linux distribution\n\nIn some Linux distributions, you can install labelme via their package managers (e.g., apt, pacman). The following systems are currently available:\n\n[![Packaging status](https://repology.org/badge/vertical-allrepos/labelme.svg)](https://repology.org/project/labelme/versions)\n\n## Usage\n\nRun `labelme --help` for detail.  \nThe annotations are saved as a [JSON](http://www.json.org/) file.\n\n```bash\nlabelme  # just open gui\n\n# tutorial (single image example)\ncd examples/tutorial\nlabelme apc2016_obj3.jpg  # specify image file\nlabelme apc2016_obj3.jpg -O apc2016_obj3.json  # close window after the save\nlabelme apc2016_obj3.jpg --nodata  # not include image data but relative image path in JSON file\nlabelme apc2016_obj3.jpg \\\n  --labels highland_6539_self_stick_notes,mead_index_cards,kong_air_dog_squeakair_tennis_ball  # specify label list\n\n# semantic segmentation example\ncd examples/semantic_segmentation\nlabelme data_annotated/  # Open directory to annotate all images in it\nlabelme data_annotated/ --labels labels.txt  # specify label list with a file\n```\n\n### Command Line Arguments\n- `--output` specifies the location that annotations will be written to. If the location ends with .json, a single annotation will be written to this file. Only one image can be annotated if a location is specified with .json. If the location does not end with .json, the program will assume it is a directory. Annotations will be stored in this directory with a name that corresponds to the image that the annotation was made on.\n- The first time you run labelme, it will create a config file in `~/.labelmerc`. You can edit this file and the changes will be applied the next time that you launch labelme. If you would prefer to use a config file from another location, you can specify this file with the `--config` flag.\n- Without the `--nosortlabels` flag, the program will list labels in alphabetical order. When the program is run with this flag, it will display labels in the order that they are provided.\n- Flags are assigned to an entire image. [Example](examples/classification)\n- Labels are assigned to a single polygon. [Example](examples/bbox_detection)\n\n### FAQ\n\n- **How to convert JSON file to numpy array?** See [examples/tutorial](examples/tutorial#convert-to-dataset).\n- **How to load label PNG file?** See [examples/tutorial](examples/tutorial#how-to-load-label-png-file).\n- **How to get annotations for semantic segmentation?** See [examples/semantic_segmentation](examples/semantic_segmentation).\n- **How to get annotations for instance segmentation?** See [examples/instance_segmentation](examples/instance_segmentation).\n\n\n## Examples\n\n* [Image Classification](examples/classification)\n* [Bounding Box Detection](examples/bbox_detection)\n* [Semantic Segmentation](examples/semantic_segmentation)\n* [Instance Segmentation](examples/instance_segmentation)\n* [Video Annotation](examples/video_annotation)\n\n\n## How to build standalone executable\n\n```bash\nLABELME_PATH=./labelme\nOSAM_PATH=$(python -c 'import os, osam; print(os.path.dirname(osam.__file__))')\npyinstaller labelme/labelme/__main__.py \\\n  --name=Labelme \\\n  --windowed \\\n  --noconfirm \\\n  --specpath=build \\\n  --add-data=$(OSAM_PATH)/_models/yoloworld/clip/bpe_simple_vocab_16e6.txt.gz:osam/_models/yoloworld/clip \\\n  --add-data=$(LABELME_PATH)/config/default_config.yaml:labelme/config \\\n  --add-data=$(LABELME_PATH)/icons/*:labelme/icons \\\n  --add-data=$(LABELME_PATH)/translate/*:translate \\\n  --icon=$(LABELME_PATH)/icons/icon.png \\\n  --onedir\n```\n\n\n## Acknowledgement\n\nThis repo is the fork of [mpitid/pylabelme](https://github.com/mpitid/pylabelme).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwkentaro%2Flabelme","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwkentaro%2Flabelme","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwkentaro%2Flabelme/lists"}