У меня есть цикл, чтобы запустить через образ и сделать заливку каждые 20 пикселей:cv2.floodFill() висит с некоторыми входами
h, w = image.shape[:2]
mask = np.zeros((h+2, w+2), np.uint8)
mask[:] |= 0
flags = 4
flags |= cv2.FLOODFILL_FIXED_RANGE
for x in range(20,image.shape[1]-20):
for y in range(20,image.shape[0]-20):
if x%20 == 0 and y%20 == 0:
print x, y
flooded = image.copy()
print 'starting flood fill'
minVal = min(image.item(x,y,0),image.item(x,y,1),image.item(x,y,2))
maxVal = max(image.item(x,y,0),image.item(x,y,1),image.item(x,y,2))
size = cv2.floodFill(flooded,mask,(x,y),(0,)*3, (40,)*3, (40,)*3, flags)[0]
Хотя в некоторых точках cv2.floodFill() никогда не завершится. Если я опускаю lo и hi границы, он способен обрабатывать дальше, но иногда будет зацикливаться. У кого еще возникла эта проблема?
С этим изображением он висит на пиксель (40,400):
Я получаю тот же вопрос висит, и я не делаю этого в op, как OP. Он висит, если lo и hi ограничены слишком большими числами. – Chris