LabelImg使用笔记

LabelImg使用笔记

一、LabelImg简介

LabelImg 是一个用于图像标注的开源工具,它提供了一个用户友好的图形界面,用于手动标记图像中的物体或区域,并生成相应的标注文件。这个工具通常用于计算机视觉和机器学习项目中,尤其是目标检测任务。

1.1、特性

LableImg具备以下特性

  1. 支持多种表注格式(Pascal VOC 格式、YOLO 格式、COCO 格式)
  2. 跨平台支持: LabelImg 是一个跨平台的工具,可以在不同的操作系统上运行
  3. 支持快捷键: LabelImg 提供了一些快捷键,以加快标注的速度

如下图
在这里插入图片描述

1.2、LabelImg的热键

LabelImg的热键:

热键含义
Ctrl+S保存
Ctrl+d复制当前标签和矩形框
Ctrl+r更改默认注释目录(标签文件存放的位置)
Ctrl+u加载目录中的所有图像(鼠标点击Open dir)
w创建标注框(矩阵/三角)
d下一张
a上一张
delete删除选定的矩阵框
space将当前图像标记为已标记

二、LabelImg安装

说明:如果是有虚拟环境的,建议先创建一个虚拟环境,然后在安装LabelImg;如果不选择虚拟环境,默认为基础环境。

conda创建虚拟环境以及库的安装

pip install labelimg -i https://pypi.tuna.tsinghua.edu.cn/simple #安装

安装如下图:

在这里插入图片描述

使用:打开cmd输入LabelImg/labelimg(大小写不做区分)

LabelImg

打开后,如下图所示:
在这里插入图片描述

快捷使用(自动保存)

在这里插入图片描述

三、3种格式的使用

3.1、VOC格式标注

如图:
在这里插入图片描述
保存后的标签文件xml格式:
图片大小、通道数、标签名称、选框位置的参数

<annotation>
	<folder>VOC2007</folder>
	<filename>000030.jpg</filename>
	<source>
		<database>The VOC2007 Database</database>
		<annotation>PASCAL VOC2007</annotation>
		<image>flickr</image>
		<flickrid>340039936</flickrid>
	</source>
	<owner>
		<flickrid>uma_tyan</flickrid>
		<name>?</name>
	</owner>
	<size>
		<width>500</width>
		<height>375</height>
		<depth>3</depth>
	</size>
	<segmented>0</segmented>
	<object>
		<name>bicycle</name>  
		<pose>Right</pose>
		<truncated>0</truncated>
		<difficult>0</difficult>
		<bndbox>
			<xmin>36</xmin>
			<ymin>205</ymin>
			<xmax>180</xmax>
			<ymax>289</ymax>
		</bndbox>
	</object>
	<object>
		<name>person</name>
		<pose>Unspecified</pose>
		<truncated>0</truncated>
		<difficult>0</difficult>
		<bndbox>
			<xmin>51</xmin>
			<ymin>160</ymin>
			<xmax>150</xmax>
			<ymax>292</ymax>
		</bndbox>
	</object>
	<object>
		<name>person</name>
		<pose>Frontal</pose>
		<truncated>0</truncated>
		<difficult>0</difficult>
		<bndbox>
			<xmin>295</xmin>
			<ymin>138</ymin>
			<xmax>450</xmax>
			<ymax>290</ymax>
		</bndbox>
	</object>
</annotation>

3.2、yolo格式标注

在图形化界面中选择yolo的保存格式。如下图红框:

在这里插入图片描述

保存的文件:类别文件和坐标文件

在这里插入图片描述

3.3、json格式

在图形化工具选择对应的JSON格式

保存后的json文件文件:类别+坐标

[
  {
    "image": "000030.jpg",
    "annotations": [
      {
        "label": "person",
        "coordinates": {
          "x": 99.5,
          "y": 226,
          "width": 97,
          "height": 132
        }
      },
      {
        "label": "person",
        "coordinates": {
          "x": 372.5,
          "y": 214,
          "width": 161,
          "height": 156
        }
      },
      {
        "label": "bike",
        "coordinates": {
          "x": 108,
          "y": 247,
          "width": 148,
          "height": 84
        }
      }
    ]
  }
]

四、LabelMe 和 LabelImg适用场景

LabelMe 和 LabelImg 都是用于图像标注的工具,但它们有不同的特点和用途,可以根据具体需求来选择使用哪一个

LabelMe:

  • 用途LabelMe 主要用于复杂的图像标注任务特别适用于语义分割和实例分割任务。它允许用户创建像素级的标注,以标识图像中的对象、区域和物体。
  • 功能LabelMe 提供了丰富的交互式标注工具,包括绘制多边形、矩形或自定义形状的区域以进行复杂的标注。它支持多种标注文件格式,具有数据管理和协作功能。
  • 优点适用于实例分割复杂标注任务多人协作。能够创建详细的像素级标注。
  • 缺点对于简单的目标检测任务,可能显得过于复杂,因为它更专注于像素级标注

LabelImg

  • 用途LabelImg 主要用于目标检测任务特别适合创建边界框标注。它通常用于标记物体的位置和大小。
  • 功能: LabelImg 提供了简单而直观的图形用户界面,用户可以加载图像并使用矩形工具创建目标边界框。它支持多种标注文件格式,适用于单人标注任务
  • 优点适用于目标检测任务,界面简单易用,适合快速标注。
  • 缺点对于像素级标注或实例分割任务,功能较为有限。

如果你需要进行像素级标注实例分割或复杂标注任务,LabelMe可能更适合;而如果只需要进行目标检测任务,LabelImg提供了更简单的界面和功能来快速创建边界框标注。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我会为您解答关于 Bootstrap 轮播(Carousel)插件的问题。 Bootstrap 轮播(Carousel)插件是一种用于网站上轮播图片或其他内容的组件。它可以通过添加一些简单的 HTML、CSS 和 JavaScript 代码来创建一个漂亮的轮播效果。 以下是使用 Bootstrap 轮播插件的步骤: 1. 引入 Bootstrap 样式文件和 JavaScript 文件。在 HTML 文件头部添加以下代码: ```html <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script> ``` 2. 创建轮播容器。在 HTML 文件中添加一个容器元素,并设置 `data-bs-ride="carousel"` 属性,如下所示: ```html <div id="carouselExampleSlidesOnly" class="carousel slide" data-bs-ride="carousel"> <div class="carousel-inner"> <div class="carousel-item active"> <img src="img/slide1.jpg" class="d-block w-100" alt="Slide 1"> </div> <div class="carousel-item"> <img src="img/slide2.jpg" class="d-block w-100" alt="Slide 2"> </div> <div class="carousel-item"> <img src="img/slide3.jpg" class="d-block w-100" alt="Slide 3"> </div> </div> </div> ``` 3. 添加轮播控件。在轮播容器元素外部添加轮播控件元素,如下所示: ```html <div id="carouselExampleSlidesOnly" class="carousel slide" data-bs-ride="carousel"> <div class="carousel-inner"> <div class="carousel-item active"> <img src="img/slide1.jpg" class="d-block w-100" alt="Slide 1"> </div> <div class="carousel-item"> <img src="img/slide2.jpg" class="d-block w-100" alt="Slide 2"> </div> <div class="carousel-item"> <img src="img/slide3.jpg" class="d-block w-100" alt="Slide 3"> </div> </div> </div> <div class="carousel-indicators"> <button type="button" data-bs-target="#carouselExampleSlidesOnly" data-bs-slide-to="0" class="active" aria-current="true" aria-label="Slide 1"></button> <button type="button" data-bs-target="#carouselExampleSlidesOnly" data-bs-slide-to="1" aria-label="Slide 2"></button> <button type="button" data-bs-target="#carouselExampleSlidesOnly" data-bs-slide-to="2" aria-label="Slide 3"></button> </div> ``` 4. 自定义轮播样式。可以使用 Bootstrap 的样式类来自定义轮播的外观和行为。例如,可以使用 `carousel-caption` 类来添加轮播题和描述,使用 `carousel-control-prev` 和 `carousel-control-next` 类来添加前进和后退按钮。 以上就是使用 Bootstrap 轮播插件的基本步骤和示例代码。希望对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值