Python OpenCV中的分水岭

Python OpenCV中的分水岭,python,opencv,Python,Opencv,我想使用分水岭方法对图像进行过度分割。阅读文档时,我需要使用findContour和drawContour函数来创建标记。我怎么用这个 这是我现在的密码 import cv2 import numpy as np im=cv2.imread('balls.jpg') marker=np.zeros(im.shape[:2]) marker[::30,::30]=200 marker=np.int32(marker) cv2.watershed(im,marker) out=cv2.conve

我想使用分水岭方法对图像进行过度分割。阅读文档时,我需要使用findContour和drawContour函数来创建标记。我怎么用这个

这是我现在的密码

import cv2
import numpy as np

im=cv2.imread('balls.jpg')
marker=np.zeros(im.shape[:2])
marker[::30,::30]=200
marker=np.int32(marker)

cv2.watershed(im,marker)
out=cv2.convertScaleAbs(marker)

cv2.namedWindow('Out')
cv2.imshow('Out', out)
cv2.waitKey()
p/S:这还有一个问题,但他们使用了其他方法(基于前景和背景。我想用轮廓代替)

这是我的目标:产生一个过度分割的图像:

可从此处下载输入图像:

如果您发布一张示例图像,这会有所帮助。试试这个:谢谢链接,但因为我想生成一个过度分段,所以标记图像不能是前景和背景。我尝试将标记均匀地放置(marker[::30,::30]=200),但这不会产生任何分割结果