一、概述
在使用yolo5之前需要进行图像物体的标注。但我在pycharm命令终端输入如下命令后
labelimg
创建矩形块时,程序一直再闪退。最开始我感觉是自己操作问题不对,反复重复过几次后,发现每次都会出现这个问题,程序无法圈出矩形框,只要创建矩形框就会闪退,在终端中会报出如下的错误。
二、问题解决
(一)原因分析
根据报错提示分析后可以知道,这个报错产生的原因是因为,函数参数类型应该是int,但是传入的参数却是float,参数类型不对应,因而造成了此次报错。
(二)问题解决
在pycharm终端中点击蓝色的文件路径,进入相应的文件。如图所示
pycharm会自动为我们定位到相应的问题出现地方。
将原本函数中的参数进行强制类型转换即可。
替换的代码如下所示,每一个参数均使用int()进行强制类型转换。
p.drawLine(int(self.prev_point.x()), 0, int(self.prev_point.x()), int(self.pixmap.height()))
p.drawLine(0, int(self.prev_point.y()), int(self.pixmap.width()), int(self.prev_point.y()))
像这样的报错在我自己电脑上运行时候还有两处,如图所示
报错均匀之前相同,点击蓝色的文件路径名,进入相应的地方给参数添加int()进行强制类型转换即可。
全部解决完成后,发现程序labelimg可以正常运行。