当前位置:   article > 正文

LabelImg 安装与使用_labelimg安装

labelimg安装

提示:文章用于学习记录


前言


一、LabelImg 下载

二、安装

  • 将下载的包解压到一个路径,打开该文件夹并点击上方搜索栏,输入 cmd
    在这里插入图片描述

  • 按下回车,进入该目录的 cmd 终端输入 python,再输入 conda 检测环境变量
    在这里插入图片描述

  • 输入以下命令,会自动完成安装

    conda install pyqt=5
    
    • 1

    由于已安装,故出现 All requested packages already installed. 表明已经安装好了。
    在这里插入图片描述

    1. 安装 lxml、PyQt5、PyQt5_tools 库
    pip install lxml -i https://pypi.tuna.tsinghua.edu.cn/simple
    pip install PyQt5 -i https://pypi.tuna.tsinghua.edu.cn/simple
    pip install PyQt5_tools -i https://pypi.tuna.tsinghua.edu.cn/simple
    
    • 1
    • 2
    • 3

    在这里插入图片描述
    4. 再输入 Pyrcc5 -o resources.py resources.qrc,并运行 labelImg.py,报错 ModuleNotFoundError: No module named ‘libs.resources‘

    Pyrcc5 -o resources.py resources.qrc
    
    python labelImg.py
    
    • 1
    • 2
    • 3

    在这里插入图片描述 5. 以上报错解决方案将 labelImg-master 中的 resources.py 复制到 lib 文件中,如下图:
    在这里插入图片描述 6. 再终端输入命令 python labelImg.py 即可打开 labelImg,也可在目录双击 labelImg.py 打开.
    在这里插入图片描述

三、使用

  • 选择左侧菜单栏的打开目录导入图像,点击创建区块即可标记目标,可选择使用预设标签也可输入标签名称,点击 OK。
    在这里插入图片描述
  • 点击左边菜单栏的保存按钮,即可获取对应的 xml 文件,此时图片可标签文件在同一文件夹,可选择改变存放目标再执行保存操作。
    在这里插入图片描述
    若需对 XML 数据格式转化为 TXT,可参考数据集格式转化 xml2txt
    import xml.etree.ElementTree as ET
    import os
    
    def convert(size, box):
       x_center = (box[0] + box[1]) / 2.0
       y_center = (box[2] + box[3]) / 2.0
       x = x_center / size[0]
       y = y_center / size[1]
       w = (box[1] - box[0]) / size[0]
       h = (box[3] - box[2]) / size[1]
       return (x, y, w, h)
    
    
    def convert_annotation(xml_files_path, save_txt_files_path, classes):
       xml_files = os.listdir(xml_files_path)
       print(xml_files)
       for xml_name in xml_files:
           print(xml_name)
           xml_file = os.path.join(xml_files_path, xml_name)
           out_txt_path = os.path.join(save_txt_files_path, xml_name.split('.')[0] + '.txt')
           out_txt_f = open(out_txt_path, 'w')
           tree = ET.parse(xml_file)
           root = tree.getroot()
           size = root.find('size')
           w = int(size.find('width').text)
           h = int(size.find('height').text)
    
       for obj in root.iter('object'):
           # difficult = obj.find('difficult').text
           if obj.find('difficult'):
               difficult = float(obj.find('difficult').text)
           else:
               difficult = 0
           cls = obj.find('name').text
           if cls not in classes or int(difficult) == 1:
               continue
           cls_id = classes.index(cls)
           xmlbox = obj.find('bndbox')
           b = (float(xmlbox.find('xmin').text), float(xmlbox.find('xmax').text), float(xmlbox.find('ymin').text),
                float(xmlbox.find('ymax').text))
           # b=(xmin, xmax, ymin, ymax)
           print(w, h, b)
           bb = convert((w, h), b)
           out_txt_f.write(str(cls_id) + " " + " ".join([str(a) for a in bb]) + '\n')
    
    
    if __name__ == "__main__":
       # 需要转换的类别,需要一一对应
       classes1 = ['D00','D10','D20','D40']
       # 2、voc格式的xml标签文件路径
       xml_files1 = r'C:\Users\bistu\Desktop\RoadDamage\labels'
       # 3、转化为yolo格式的txt标签文件存储路径
       save_txt_files1 = r'C:\Users\bistu\Desktop\batch\label'
    
       convert_annotation(xml_files1, save_txt_files1, classes1)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    也可直接采用 makesense 在线标注工具直接标注生成 TXT 格式标签,点击 Get Started,上传要标注的图片并创建标签按 Enter 继续创建。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述标注并导出标签
    在这里插入图片描述

总结

以上就是LabelImg 安装与使用、XML 数据格式转化为 TXT 以及 makesense 在线标注工具的使用。
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/128178
推荐阅读
相关标签
  

闽ICP备14008679号