labelImg中修改十字基准线的宽度

原因是labelImg中默认的十字基线太细了,标得眼睛疼,所以分享一下我的做法。

在canvas.py文件中,找到下述代码

        if self.drawing() and not self.prev_point.isNull() and not self.out_of_pixmap(self.prev_point):
            p.setPen(QColor(0, 0, 0))
            p.drawLine(self.prev_point.x(), 0, self.prev_point.x(), self.pixmap.height())
            p.drawLine(0, self.prev_point.y(), self.pixmap.width(), self.prev_point.y())

改成以下,第一个参数是RGB,第二个参数15是线宽

      if self.drawing() and not self.prev_point.isNull() and not self.out_of_pixmap(self.prev_point):
            pen = QPen(QColor(255, 255, 255), 15)  # 第二个参数 "15" 是线宽,按需调整
            # pen.setStyle(Qt.DashLine)        # 可选:设置为虚线样式
            p.setPen(pen)
            p.drawLine(self.prev_point.x(), 0, self.prev_point.x(), self.pixmap.height())
            p.drawLine(0, self.prev_point.y(), self.pixmap.width(), self.prev_point.y())

修改代码如图:

改前

改后

修改运行效果如图:

改前:

改后

### LabelImg不显示十字线解决方案 LabelImg是一款广泛使用的图像标注工具,在某些情况下可能会遇到界面中的十字线无法正常显示的问题。对于此类问题,通常可以从以下几个方面着手解决: #### 1. 更新软件版本 确保正在使用的是最新版的LabelImg。开发者会定期修复已知错误并优化功能,旧版本可能存在未被修正的小瑕疵。可以通过官方GitHub仓库获取最新的安装包[^1]。 #### 2. 检查配置文件设置 有时配置文件内的参数设定不当也会引起显示异常。尝试重置或调整`config.yaml`中有关UI布局的相关选项来恢复正常显示效果。 #### 3. 安装依赖库 如果缺少必要的Python库或其他依赖项,则可能导致部分图形组件渲染失败。确认已经正确安装了所有必需的支持库,特别是PyQt5及其附加模块。 #### 4. 修改源码实现强制显示 作为最后手段,可以直接编辑程序源代码以确保十字光标的可见性。找到负责绘制鼠标指针下方辅助线条的功能函数,并将其启用状态设为True。具体操作如下所示: ```python def paintEvent(self, event): painter = QPainter(self) # ...其他绘图逻辑... # 强制开启十字线显示 self.showCrossLine(True) if self.showCrossLine: pen = QPen(Qt.red, 2, Qt.SolidLine) painter.setPen(pen) w, h = self.image.width(), self.image.height() center_x, center_y = int(w/2), int(h/2) # 绘制水平方向的红色直线 painter.drawLine(center_x - 50, center_y, center_x + 50, center_y) # 绘制垂直方向的红色直线 painter.drawLine(center_x, center_y - 50, center_x, center_y + 50) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值