基于图像轮廓细化分割掩码

Posted

技术标签:

【中文标题】基于图像轮廓细化分割掩码【英文标题】:Refine segmentation mask based on contours of image 【发布时间】:2021-03-08 19:05:41 【问题描述】:

我有一个图像,我有一个绿色边框作为分割蒙版的轮廓。我希望根据在原始图像上找到的轮廓来细化这个轮廓,以获得像第二张图像中的蒙版 - 其中头发的边缘更加精致。

我尝试了分段掩码的膨胀和腐蚀的组合,但感觉不像是通用解决方案 - 因为它涉及手动调整内核大小。

有更好的方法吗?

【问题讨论】:

【参考方案1】:

没有通用的解决方案。始终需要参数调整以获得所需的输出。为了获得更精细的毛发边缘,您可以应用以下阈值:

import cv2 as cv
from matplotlib import pyplot as plt

im = cv2.imread("model.jpg",0)
plt.imshow(im)
thresh = cv2.adaptiveThreshold(im,255,cv2.ADAPTIVE_THRESH_MEAN_C,\
            cv2.THRESH_BINARY_INV,31,3)
plt.imshow(thresh)

输入:

输出:

注意:颜色变化是由于“matplotlib”。

【讨论】:

以上是关于基于图像轮廓细化分割掩码的主要内容,如果未能解决你的问题,请参考以下文章

图像分割之活动轮廓模型之Snake模型简介

医学图像分割 基于matlab GVF算法医学图像分割含Matlab源码 1213期

细胞分割基于matlab GUI阈值+边缘+形态学+种子点+主动轮廓图像分割含Matlab源码 1477期

细胞分割基于matlab GUI阈值+边缘+形态学+种子点+主动轮廓图像分割含Matlab源码 1477期

使用 OpenCV 从轮廓中获取掩码

opencv 5 图像轮廓与图像分割修复 2 使用多边形将轮廓包围