labelImg ZeroDivisionError: float division by zero 问题定位和解决方案
labelImg
🎉 超级实用!LabelImg,图像标注神器,现在加入Label Studio社区,享受多模态数据标注新体验!🚀 简单易用,支持XML、YOLO和CreateML格式,适用于ImageNet等项目。不再单独维护,立即尝试Label Studio,安装一键到位,更灵活,功能更强大!👇 安装即刻开始:pip3 install labelImg,或访问<https://github.com/heartexlabs/label-studio> 获取源码构建。一起探索数据标注的新边界!👨💻👩💻【此简介由AI生成】
项目地址:https://gitcode.com/gh_mirrors/la/labelImg
免费下载资源
·
一、前沿
labelImg的使用和安装这里不过多讲解,网上一堆教程。
二、问题以及解决方案
2.1 问题如下:
Traceback (most recent call last):
File "g:\mytoolsinstall\anaconda3\lib\site-packages\labelImg\labelImg.py", line 1250, in openNextImg
self.saveFile()
File "g:\mytoolsinstall\anaconda3\lib\site-packages\labelImg\labelImg.py", line 1290, in saveFile
self._saveFile(savedPath)
File "g:\mytoolsinstall\anaconda3\lib\site-packages\labelImg\labelImg.py", line 1322, in _saveFile
if annotationFilePath and self.saveLabels(annotationFilePath):
File "g:\mytoolsinstall\anaconda3\lib\site-packages\labelImg\labelImg.py", line 802, in saveLabels
self.lineColor.getRgb(), self.fillColor.getRgb())
File "g:\mytoolsinstall\anaconda3\lib\site-packages\libs\labelFile.py", line 83, in saveYoloFormat
writer.save(targetFile=filename, classList=classList)
File "g:\mytoolsinstall\anaconda3\lib\site-packages\libs\yolo_io.py", line 70, in save
classIndex, xcen, ycen, w, h = self.BndBox2YoloLine(box, classList)
File "g:\mytoolsinstall\anaconda3\lib\site-packages\libs\yolo_io.py", line 37, in BndBox2YoloLine
xcen = float((xmin + xmax)) / 2 / self.imgSize[1]
ZeroDivisionError: float division by zero
2.2 定位原因
2.2.0、从代码来看 主要是:xcen = float((xmin + xmax)) / 2 / self.imgSize[1] ZeroDivisionError: float division by zero
这个里边 self.imgSize[1]==0
2.2.1、而这行代码的源码位置在:
2.2.2、那么便去寻找 调用 YOLOWriter
类,传递参数的函数
结论:
不难怀疑:QImage 读图出现了 问题,解决方案 使用 openCv 替换掉 QImage
2.3 解决问题
在 labelFile.py
文件里边修改
image = QImage()
image.load(imagePath)
imageShape = [image.height(), image.width(),
1 if image.isGrayscale() else 3]
if imageShape[0] == 0: // 如果读图 高/宽 为 0 那么便再用 cv2重新读图。
img = cv2.imread(imagePath)
imageShape = [img.shape[0], img.shape[1], img.shape[2]]
三、结论
问题:为什么 QImage 读图 宽高 全为 0?
网上给出原因是 打开某些图片时候,背景为透明的那种,会出现size为 0 的情况。
结论:
这边还是认为自己可以根据 源码先去定位原因,然后找出解决方案
四、参考链接:
网上查询相关的issue,有人提出同样的问题,下面有相应的回答。
https://github.com/tzutalin/labelImg/issues/386
https://github.com/tzutalin/labelImg/issues/462
GitHub 加速计划 / la / labelImg
22.31 K
6.24 K
下载
🎉 超级实用!LabelImg,图像标注神器,现在加入Label Studio社区,享受多模态数据标注新体验!🚀 简单易用,支持XML、YOLO和CreateML格式,适用于ImageNet等项目。不再单独维护,立即尝试Label Studio,安装一键到位,更灵活,功能更强大!👇 安装即刻开始:pip3 install labelImg,或访问<https://github.com/heartexlabs/label-studio> 获取源码构建。一起探索数据标注的新边界!👨💻👩💻【此简介由AI生成】
最近提交(Master分支:1 个月前 )
b33f965b
Adds information about Label Studio community to welcome LabelImg users 2 年前
2d5537ba
2 年前
更多推荐
已为社区贡献2条内容
所有评论(0)