使用opencv获取(内边缘)轮廓像素

Posted

技术标签:

【中文标题】使用opencv获取(内边缘)轮廓像素【英文标题】:Get (inner edge) contour pixel with opencv 【发布时间】:2013-04-02 20:29:30 【问题描述】:

我正在寻找一种方法来使用 opencv 提取二进制图像的“内部”轮廓。我知道findContours 提取轮廓,但我需要属于二值图像中阈值对象的轮廓像素,而不是外部轮廓。

这是一个虚构的图像,它更好地描述了我正在搜索的内容。我正在寻找一种提取红色轮廓的方法。

我已经尝试过一种简单的方法来复制原始二进制图像并将副本每边缩小 2 个像素并用黑色像素填充边缘并使用findContours,但结果并不令人满意。

【问题讨论】:

【参考方案1】:

小更新:

我用 opencv 腐蚀和膨胀解决了它。

【讨论】:

【参考方案2】:

你可以在负像上运行findContours()

【讨论】:

以上是关于使用opencv获取(内边缘)轮廓像素的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV在轮廓边界内获取黑色像素

opencv——轮廓发现与轮廓分析

opencv边缘检测 不闭合

OpenCV与EmguCV中的图像轮廓提取

使用openCV进行边缘检测二值化轮廓轮廓检测BGR灰度图二值化,专栏:各种openCV实践的案例

在 Python 中使用 OpenCV 访问轮廓边界内的像素值