一、前沿

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 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐