装机环境:Win10+Python3.5
一、LabelImg是什么?
LabelImg 是一个图形图像注释工具,采用 Python 编写而成,并使用 Qt 作为其图形界面
二、前提准备工作
0.在这里,我默认你已经安装好了Python以及确保带有Pip(Python3.0以上一般都会自带)
1.安装PyQt5.
pip install PyQt5
这里还是多说一句吧,由于网络原因等等吧,上述命令不一定会执行成功。结局办法:手动下载whl文件。在执行上述脚本的之后,pip会根据你当前电脑环境版本自动寻找一个最适合你下载的库。比如:
可以看到,我这里pip自动为我寻找的PyQt5的版本是PyQt5-5.15.2-5.15.2-cp35.cp36.cp37.cp38.cp39-none-win_amd64.whl。诸如此类问题吧,都可以这样手动解决,下面附上一个下载地址:
/project/
2.安装安装PyQt5-tools
pip install pyqt5-tools
安装不了参考上面的解决办法
3.安装lxml
pip install lxml
4. 最重要的,LabelImg下载Dowmload
三、安装
编译pyrcc编译源文件
进入到labelImg的安装根目录,执行
-
pyrcc5 -o
-
python
不出意外地话,会弹出一个窗口:
贴一下Github上关于labelimg的安装说名:
至此,安装工作完成。
四、实验
数据集不大,模型没有意义。
1.数据标注流程:
(1)打开labelImg之后,点击Open Dir选择要处理的图片所在的文件夹
(2)点击Create RectBox创建标注区域,并命名
(3)点击Save,NextImage。以此类推。
在完成所有的数据样本的标注之后,我们可以得到下面成果,每一张图片后面都有一个与其名字相同的xml文件。
!!!!!!!!图片先欠着。
转TXT
YOLO需要的是TXT格式,所以我们需要转换~
打开一个XML文件先查看里面的格式和内容
-
解释几个重点节点:
-
<width>:图片的宽度
-
<height>:图片的高度
-
<name>:图片的类别的名字
-
<!--------------------------------------->
-
<xmin>:标注框左上角的x坐标
-
<ymin>:标注框左上角的y坐标
-
<xmax>:标注框右上角的x坐标
-
<ymax>:标注框右上角的y坐标
而TXT要求的格式:
-
<object-class> <x_center> <y_center> <width> <height>
-
<!--------------------------------------------------->
-
<object-class>该图片所拥有的类别,在车牌检测中就是车牌代表
-
的数字,因为只有检测车牌即只有1类,因此是0
-
<!--------------------------------------------------->
-
<x_center> 中心点横坐标:这里的坐标并不是绝对坐标(真实坐标),
-
而是相对于图片宽度的相对坐标,转换公式为:
-
<x_center> = <absolute_x> / <image_width>,这里的absolute_x是指标注框中心的横坐标,即(xmin+xmax)/2
-
<!--------------------------------------------------->
-
<y_center> 中心的纵坐标:这里的坐标并不是绝对坐标(真实坐标),
-
而是相对于图片高度的相对坐标,转换公式为:
-
<y_center> = <absolute_y> / <image_height>,这里的absolute_y是指标注框中心的横坐标,即(ymin+ymax)/2
-
<!--------------------------------------------------->
-
<width> 标注框宽度:这里的宽度并不是绝对宽度(真实宽度),而是相对于图片宽度的相对宽度,转换公式为<width> = <absolute_width> / <image_width>,即(xmax-xmin) / <image_width>
-
-
<height> 标注框宽度:这里的宽度并不是绝对宽度(真实宽度),而是相对于图片宽度的相对高度,转换公式为<height> = <absolute_height> / <image_height>,即(ymax-ymin) / <image_height>