第一次写博客,自己也是初学,希望记录下一路的成长,督促自己坚持下去。
大体制作过程是按照这篇博客的内容来:http://blog.csdn.net/gaohuazhao/article/details/60871886
第一步:先准备好统一命名的图片数据。
第二步:框图
1 遇到的第一个困难是运行标注软件:https://github.com/tzutalin/labelImg
本人是ubuntu16,Python 3 + Qt5.7.0+PyQt5_gpl-5.7
参照了这篇文章中的步骤,安装Eric6开发环境的部分跳过:http://blog.csdn.net/suxiang198/article/details/52042526
在进行SIP安装的时候出现了一个问题,就是print(sip.SIP_VERSION_STR)显示的SIP版本是4.7,与安装的版本不一致,解决方法如下:
通过find /usr/lib/python3 在出现的文件夹列表中找到了/usr/lib/python3/dist-packages/文件夹下面有一个sipdistutils.py,需要将其删去再重新安装SIP。执行命令
cd /usr/lib/python3/dist-packages/
sudo rm -f sip*
然后再重新按照SIP的安装过程安装就行了。
2 在运行程序的时候,也出现了一些问题。
安装如下步骤会出现错误提示
sudo apt-get install pyqt5-dev-tools
sudo pip3 install lxml
make qt5py3
python3 labelImg.py
python3 labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE]
需要将make qt5py3改成如下代码,就可以运行了
make all
./labelImg.py
画框的时候再进入到labelImg-master文件夹下,运行./labelImg.py就可以了。
3.画框完成后发现制作的xml文件中还是有问题,width和height都为0,写了一个小程序把它改过来,如下:
import os
import re
path = "/home/zhouqin/下载/VOCdevkit2007/VOC2007/Annotations" #文件夹目录
files= os.listdir(path) #得到文件夹下的所有文件名称
s = []
for file in files: #遍历文件夹
if not os.path.isdir(file): #判断是否是文件夹,不是文件夹才打开
f = open(path+"/"+file,'r')
xmldata = f.read()
xmldata = re.sub('\<width>(.*?)\</width>','<width>1280</width>',xmldata)
xmldata = re.sub('\<height>(.*?)\</height>','<height>720</height>',xmldata)
f.close()
f = open(path+"/"+file,'w')
f.write(xmldata)
f.close()
print(xmldata)