在使用opencv的drawContours方法来绘制图片某个边缘的轮廓的时候报drawContours '(-215) npoints > 0'
绘制的代码如下
cv2.drawContours(clip_img, [points_array], -1, (0, 255, 0), 1)
我们先输出看看points_array的数据信息
[[207 47]
[230 47]
[233 103]
[211 110]]
points_array的shape为(4,2)表示轮廓的四个顶点坐标,这里需要注意的是opencv的drawContours方法的轮廓点集的shape需要是(-1,1,2),所以将上面的代码改为如下形式
cv2.drawContours(clip_img, [points_array.reshape(-1,1,2)], -1, (0, 255, 0), 1)
此时轮廓的点集数据信息如下
[[[207 47]]
[[230 47]]
[[233 103]]
[[211 110]]]
参考:https://stackoverflow.com/questions/35902139/opencv-3-1-drawcontours-215-npoints-0/35902430