我有一个带有折线的二值图像:
cv2.polylines(binaryImage,contours,1, (255,255,255))
我现在需要的是填充所有折线的有效方法。我没有在 opencv 中找到这样的方法,但也许它存在。或者,也许我可以实现算法来完成这项工作(但速度很快——我有高清图片)。请分享您的想法..
最佳答案
我想你要找的是cv2.fillPoly
,它填充由一个或多个多边形包围的区域。这是一个简单的片段,我生成了一个代表正方形顶点的四个点的轮廓,然后我用白色填充多边形。
import numpy as np
import cv2
contours = np.array( [ [50,50], [50,150], [150, 150], [150,50] ] )
img = np.zeros( (200,200) ) # create a single channel 200x200 pixel black image
cv2.fillPoly(img, pts =[contours], color=(255,255,255))
cv2.imshow(" ", img)
cv2.waitKey()
关于c++ - 用opencv python填充轮廓,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19222343/