AssertionError告诉您OpenCV需要一个有符号的32位整数。多边形点的数组应具有特定的数据类型(例如points = numpy.array(A,dtype='int32')
)。您也可以将其强制转换为函数调用(例如my_array.astype('int32')
),或者作为朋友放置一次。
改变
cv2.fillConvexPoly(binary_image, np.array(rect['boundary']), 255)
至
cv2.fillConvexPoly(binary_image, np.array(rect['boundary'], 'int32'), 255)
”