labelImg之闪退篇

环境:Ubuntu16.04,python3.10

使用pip安装的labelImg点击绘制会发生闪退并报错:

Traceback (most recent call last):
  File "/python3.10/site-packages/libs/canvas.py", line 530, in paintEvent
    p.drawLine(self.prev_point.x(), 0, self.prev_point.x(), self.pixmap.height())
TypeError: arguments did not match any overloaded call:
  drawLine(self, l: QLineF): argument 1 has unexpected type 'float'
  drawLine(self, line: QLine): argument 1 has unexpected type 'float'
  drawLine(self, x1: int, y1: int, x2: int, y2: int): argument 1 has unexpected type 'float'
  drawLine(self, p1: QPoint, p2: QPoint): argument 1 has unexpected type 'float'
  drawLine(self, p1: Union[QPointF, QPoint], p2: Union[QPointF, QPoint]): argument 1 has unexpected type 'float'
已放弃 (核心已转储)

原因:python3.8之后绘图函数不允许有非整数。

解决

1.打开报错提示的canvas.py文件

1.1 修改526行:

 p.drawRect(left_top.x(), left_top.y(), rect_width, rect_height)

        修改为:

 p.drawRect(int(left_top.x()),int(left_top.y()), int(rect_width), int(rect_height))

 1.2  530行:

p.drawLine(self.prev_point.x(), 0, self.prev_point.x(), self.pixmap.height())

        修改为:

p.drawLine(int(self.prev_point.x()), 0, int(self.prev_point.x()), int(self.pixmap.height()))

1.3 531行:

 p.drawLine(0, self.prev_point.y(),self.pixmap.width(), self.prev_point.y())

        修改为

 p.drawLine(0, int(self.prev_point.y()),int( self.pixmap.width()), int(self.prev_point.y()))

2.修改python3.10/site-packages/labelImg/labelImg.py

        第950行

bar.setValue(bar.value() + bar.singleStep() * units)

        修改为

 bar.setValue(int(bar.value() + bar.singleStep() * units))

labelimg是一款常用的开源图像标注工具,用于在图像上进行目标检测或者图像分割等任务的标注。闪退是指在使用labelimg时程序突然关闭或者崩溃的情况。 labelimg闪退问题可能有多种原因,以下是一些可能导致闪退的常见原因和解决方法: 1. 版本不兼容:labelimg可能与您的操作系统或其他软件不兼容,导致闪退。您可以尝试更新labelimg到最新版本,或者查看labelimg的官方文档以了解其兼容性要求。 2. 硬件要求不满足:labelimg可能对计算机硬件有一定的要求,如果您的计算机配置较低,可能会导致闪退。您可以尝试在更高配置的计算机上运行labelimg,或者优化您的计算机配置。 3. 图像文件格式问题:某些图像文件格式可能不被labelimg支持,导致闪退。您可以尝试将图像文件转换为labelimg支持的格式,如JPEG或PNG。 4. 资源占用过高:labelimg在处理大量图像或者复杂任务时可能会占用较多的系统资源,导致闪退。您可以尝试减少同时打开的图像数量,或者关闭其他占用资源较高的程序。 5. 缺少依赖库:labelimg可能依赖于其他库或软件,如果您的计算机缺少这些依赖库,可能会导致闪退。您可以尝试安装或更新相关的依赖库,或者查看labelimg的官方文档以获取更多信息。 希望以上解答对您有帮助!如果您还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值