Python OpenCV:将不规则形状轮廓的内部设置为颜色

Python OpenCV:将不规则形状轮廓的内部设置为颜色,python,opencv,numpy,Python,Opencv,Numpy,我有一个图像,我正在使用OpenCV查找该图像中的轮廓。例如: contours, hierarchy = cv2.findContours(image, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE) 返回的每个轮廓有时形状非常不规则。例如,其中一个的返回为: contour = [[[34 4]] [[35 3]] [[36 4]] [[36 11]] [[35 12]] [[34 11]] [[34 6]] [[33 6]] [[32 5]]

我有一个图像,我正在使用OpenCV查找该图像中的轮廓。例如:

contours, hierarchy = cv2.findContours(image, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)
返回的每个轮廓有时形状非常不规则。例如,其中一个的返回为:

contour = [[[34  4]]
[[35  3]]
[[36  4]]
[[36 11]]
[[35 12]]
[[34 11]]
[[34  6]]
[[33  6]]
[[32  5]]
[[33  4]]]
我想将此轮廓的内部设置为特定颜色。我已经尝试使用cv2.BoundingRect来获取此轮廓的边界矩形,然后使用它来设置颜色,但是,我希望使用一种更精确的方法来使用实际轮廓

有没有一种简单的方法可以通过OpenCV提供的函数或NumPy来实现这一点?

使用
cv2.drawContours()
函数和
lineType=-1
标志()

例如:cv2.绘制轮廓(img,[cnt],0,颜色,-1)#用于在特定轮廓内填充

cv2.绘制轮廓(img,轮廓,-1,颜色,-1)#一步完成所有轮廓的内部填充

有关详细信息,请访问: