如何使用python对相同颜色的图像区域进行分组并获取其坐标而忽略背景颜色

Posted

技术标签:

【中文标题】如何使用python对相同颜色的图像区域进行分组并获取其坐标而忽略背景颜色【英文标题】:How to group the image regions of same color and get its coordinates ignoring the background color using python 【发布时间】:2019-05-18 19:48:18 【问题描述】:

Input image

我需要将区域分组为绿色并获取其坐标,例如output image。如何在python中做到这一点?

请查看附件图片以获得更好的清晰度

【问题讨论】:

在你展示你已经厌倦的东西之前,我们无法帮助你 SO 期望一些最小的研究工作。请查看opencv 我没有就此发表任何声明。基本上我正在尝试从文档图像中识别图像区域。我训练了一个语义分割模型来做到这一点,输入图像是模型输出。从输出中,我需要将那些实际上是图像的绿色区域分组并获取其坐标。如果该区域是完全绿色的(如绿色块),我可以使用连接的组件来获取区域坐标。但在这里,因为它的背景颜色也可见(黑色)CC 不工作。 IDK如何进一步进行 你看到了吗:***.com/questions/40527769/… “我训练了一个语义分割模型”...给我们看代码。 【参考方案1】:

首先,split 图像的绿色通道,在其上放一个threshold 并获得二值图像。此二值图像包含绿色区域的对象。用合适的内核启动dilating 图像,这将使相邻的对象相互粘连,成为一个大对象。然后使用findcontour 获取所有对象的大小,然后握住最大的对象并移除其他对象,此图像将成为您的蒙版。现在您可以使用此蒙版reconstruct 原始图像(仅限绿色通道),并为剩余对象设置一个框。

您可以轻松找到每个部分的代码。

【讨论】:

以上是关于如何使用python对相同颜色的图像区域进行分组并获取其坐标而忽略背景颜色的主要内容,如果未能解决你的问题,请参考以下文章

LabVIEW色彩匹配实现颜色识别颜色检验(基础篇—12)

如何获取PNG图片某点像素的rgba值

你将如何在 python 的数组中对这三个区域进行分组/聚类?

对具有相同 zoneID 的相邻单元格进行分组,MATLAB

快速框选图像的某一区域并进行缩放展示

Python:如何从图像中切出具有特定颜色的区域(OpenCV,Numpy)