【发布时间】:2019-12-22 08:54:47
【问题描述】:
我正在尝试仅使用 ROI 在单元格图像中制作蒙版,因此我在 ROI 周围使用 OpenCV 应用了轮廓,但我一直在努力使该区域位于轮廓内。我想把这个区域放在白色里面,然后丢弃轮廓和外面的其余部分。
cell = cv.imread(original, 0) # original cell image after matching template
imgray = cv.cvtColor(cell,cv.COLOR_BGR2GRAY)
ret,thresh_binary = cv.threshold(imgray,127,255,cv.THRESH_BINARY)
生成的图像是:
而原文是:
从匹配模板后的另一张图像和已经标记的单元格轮廓,代码中读取的图像:
所以基本上我需要的是在那个封闭的轮廓区域中使用白色并丢弃所有其余部分(即黑色)。 有人可以给我一些帮助或提示我该怎么做吗?
【问题讨论】:
-
你能添加你的原始图像和预期的输出图像吗?您可以使用形态学运算来平滑异常值部分,然后找到生成的轮廓。然后就可以使用
cv2.drawContours(),用白色填充闭合轮廓区域 -
见 CV_FILLED 或 -1 以获取 cv2.drawContours() 中的厚度参数docs.opencv.org/3.1.0/d6/d6e/…
-
已编辑-nathancy
标签: python opencv image-processing image-segmentation scikit-image