labelImgの短形操作のエラー修正
初アノテーションで、いきなりエラーでした。
エラー内容
\Python\Python312\Lib\site-packages\libs\canvas.py", line 533, in paintEvent
p.drawLine(QLine(self.prev_point.x(), 0, self.prev_point.x(), self.pixmap.height()))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: arguments did not match any overloaded call:
QLine(): too many arguments
QLine(pt1_: QPoint, pt2_: QPoint): argument 1 has unexpected type 'float'
QLine(x1pos: int, y1pos: int, x2pos: int, y2pos: int): argument 1 has unexpected type 'float'
QLine(a0: QLine): argument 1 has unexpected type 'float'
float型はあかんで、int型やでえ、ということらしいです。
修正後コード コメントで元残しています line 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))
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(int(self.prev_point.x()), 0, int(self.prev_point.x()), self.pixmap.height())
# p.drawLine(0, self.prev_point.y(), self.pixmap.width(), self.prev_point.y())
p.drawLine(0, int(self.prev_point.y()), self.pixmap.width(), int(self.prev_point.y()))
アノテーション疲れますね。AIがやってくれたらいいのに!!
この記事が気に入ったらサポートをしてみませんか?