问题描述

Traceback (most recent call last):
File "/home/lsh/Desktop/PycharmProjects/Demo/data/loader.py", line 225, in <module>
img = cv2.rectangle(img, (int(xmin), int(ymin)), (int(xmax), int(ymax)), (0,0,255), 2)
TypeError: an integer is required (got type tuple)

TypeError: an integer is required (got type tuple)_numpy

解决方案

遇到这个错误有很多种情况。其中一个错误的解决方法如下:

img = im.permute(1,2,0).numpy()[:, :, (2, 1, 0)].astype(np.uint8)
cv2.imwrite('-1.jpg', img)
img = cv2.imread('-1.jpg')

或者:

img = im.permute(1,2,0).numpy()[:, :, (2, 1, 0)].astype(np.uint8)
img = np.ascontiguousarray(img)

让数据内存变得连续,可参考:https://stackoverflow.com/questions/26998223/what-is-the-difference-between-contiguous-and-non-contiguous-arrays 。