在python Opencv4.4 版本中,自定义了contours数组,希望使用contourArea()函数计算多边形面积,但是报错:
1 | (-215:Assertion failed) npoints >= 0 && (depth == CV_32F ||depth ==CV_32S) |
一开始以为仅仅是contours的格式不正确,使用:
1 | np.array(contour).reshape(-1,1,2) |
还是报错。
最终发现:
1 | np.array(contour).reshape(-1,1,2).astype(np.int32) |
就好了,竟然数据类型也需要确定为int,只能说这个报错好像没有指明问题所在…浪费不少时间