【发布时间】:2020-08-06 12:49:52
【问题描述】:
【问题讨论】:
-
MASK->CONTOUR:使用带有 RETR_EXTERNAL 的 findContours。 CONTOUR->MASK:使用带有 RETR_TREE 的 findContours,仅使用内部轮廓(使用 contourArea see here),然后使用 drawContours。如果您有特定的编程问题和一些代码,请尝试并回来
-
@Miki 我不确定您提供的链接中的 c++ 代码。您可以尝试使用 python3 并提供代码吗?我尝试了分水岭等,但我做不到。我想做的事:我想为任何形状(细胞、细胞核等)手工绘制边界。然后,从这些边界创建一个蒙版。或者不画边界,我先手动创建蒙版,然后画边界。
-
我发现了这个:link。
im = cv.imread('mask.png')im = cv.cvtColor(im,cv.COLOR_BGR2GRAY)idx = cv2.findContours(im,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_NONE)[1][0]out = np.zeros_like(im)out[idx[:,0],idx[:,1]] = 255 -
但仍然无法创建边界(第二张图像),但如果使用渐变函数,它会给出一些边界但不正确!
-
现在这个 [link] (docs.opencv.org/3.0-beta/doc/py_tutorials/py_imgproc/…) 帮了大忙:
标签: python-3.x opencv mask scikit-image cv2