关于yolo 中 openCV 报错top >= 0 && bottom >= 0 && left >= 0 && right >= 0 && _src.dims() <= 2 in function 'cv::copyMakeBorder'

关于yolo 中 openCV报错

如下,当我用yolo v3算法进行图像识别时,在训练的过程中,报了这样的错误。
网上基本没找到这样的报错信息,这个问题已经困扰我一下午了。

img = cv2.copyMakeBorder(img, top, bottom, left, right, cv2.BORDER_CONSTANT, value=color)  # add border

cv2.error: OpenCV(4.2.0) C:\projects\opencv-python\opencv\modules\core\src\copy.cpp:1421: error: (-215:Assertion failed) top >= 0 && bottom >= 0 && left >= 0 && right >= 0 && _src.dims() <= 2 in function 'cv::copyMakeBorder'

想麻烦各位大佬帮忙解答,感激不尽。

我也遇到了这个问题,本人python代码中的解决方案:
这个提示可能是输入的值不在指定的范围内造成的。由于我有一个根据图片长和宽减法的代码,可能导致出现负值,传入时会导致出错,故在此减法代码外套上abs()取绝对值后,再传入copyMakeBorder.问题解决。

建议你把test.py文件中的第四十七行的
dataset = LoadImagesAndLabels(test_path, img_size, batch_size)

改为

dataset = LoadImagesAndLabels(test_path, img_size, batch_size,rect = False)试试

请问现在解决了吗,遇到了同样的问题

 

请问有解决方法吗?我也遇到了这个问题