标注工具labelImg在Ubuntu系统的安装和使用

前言

LabelImg是一个图形图像注释工具。
它是用Python编写的,并使用Qt作为其图形界面。
注释以PASCAL VOC格式保存为XML文件,这是ImageNet使用的格式。
详细内容见https://github.com/tzutalin/labelImg。

安装labelImg

系统为Ubuntu,Python版本不同,安装方式也不同。
Python 2 + Qt4

sudo apt-get install pyqt4-dev-tools
sudo pip install lxml
git clone https://github.com/tzutalin/labelImg.git
cd labelImg
make all
python labelImg.py  #打开labelImg
python labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE]

Python 3 + Qt5

sudo apt-get install pyqt5-dev-tools
sudo pip3 install lxml
git clone https://github.com/tzutalin/labelImg.git
cd labelImg
make all
python3 labelImg.py  #打开labelImg
python3 labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE]

使用labelImg

使用方法很简单。

  • Open可导入单张图片。
  • Open Dir可打开文件夹目录,然后可以用Next ImagePrev Image查看所有图片。
  • Change Save Dir可以更改xml文件保存的路径。
  • Verify Image可更改xml文件的内容。
  • Save可保存xml文件。

下图为标注一张图片后的效果。

标注工具labelImg在Ubuntu系统的安装和使用_第1张图片

保存的xml文件内容如下:


<annotation>
    <folder>桌面folder>
    <filename>d3738a0d75.jpgfilename>
    <path>/home/qq/桌面/d3738a0d75.jpgpath>
    <source>
        <database>Unknowndatabase>
    source>
    <size>
        <width>0width>
        <height>0height>
        <depth>3depth>
    size>
    <segmented>0segmented>
    <object>
        <name>personname>
        <pose>Unspecifiedpose>
        <truncated>0truncated>
        <difficult>0difficult>
        <bndbox>
            <xmin>65xmin>
            <ymin>55ymin>
            <xmax>222xmax>
            <ymax>350ymax>
        bndbox>
    object>
    <object>
        <name>personname>
        <pose>Unspecifiedpose>
        <truncated>1truncated>
        <difficult>0difficult>
        <bndbox>
            <xmin>215xmin>
            <ymin>1ymin>
            <xmax>374xmax>
            <ymax>350ymax>
        bndbox>
    object>
annotation>

遇到的问题

在https://tzutalin.github.io/labelImg/下载Linux版本的文件,解压后运行。
导入图片,标注,保存,会报以下错误。所以建议用以上的方式安装。

Traceback (most recent call last):
  File "labelImg/labelImg.py", line 1151, in openFile
  File "labelImg/labelImg.py", line 928, in loadFile
  File "posixpath.py", line 105, in splitext
  File "genericpath.py", line 91, in _splitext
AttributeError: 'QString' object has no attribute 'rfind'
Traceback (most recent call last):
  File "labelImg/labelImg.py", line 1166, in saveFile
  File "labelImg/labelImg.py", line 1187, in _saveFile
  File "labelImg/labelImg.py", line 713, in saveLabels
UnicodeEncodeError: 'ascii' codec can't encode characters in position 14-15: ordinal not in range(128)

你可能感兴趣的:(标注工具labelImg在Ubuntu系统的安装和使用)