2017-03-17 62 views
0

我有一个图像与各种奇形状(如圆形和正方形),它们是纯红色(rgb(255,0,0)完全)着色。我想围绕这些形状绘制框,但要做到这一点,我需要每个框中每个角的坐标。这是我遇到困难的部分。围绕图像的纯红色区域绘制框的最佳方式?

我基本上是想从这个去: enter image description here

要这样: enter image description here

我已经尝试了许多不同的方式来实现这一目标,其中包括解析y轴,直到我找到一个形状和拳击这样,从图像的角落开始,向中间移动(两种方法都不适用于多种形状),并使用外部封装,如OpenCV。

我可以使用OpenCV来实现这一点,但考虑到我希望有一种方法可以做到这一点,它不需要外部包。

任何有更多机器视觉经验的人都可以指点我吗?

+1

在OpenCV中,它就像10行代码......为什么你不想使用它? – Miki

回答

1

首先,使用Hoshen-Kopelman algorithm来确定具有给定条件(红色)的像素的连通集群,然后您只需找到它们的最小/最大区域(在x和y轴上)以便用长方形。

+0

谢谢,像这样的算法正是我正在寻找的,将等待几个小时才标记:) –

+1

Floodfill算法是一种替代方案。您可以在Web上找到实现(例如,从[ccodeproject](https://www.codeproject.com/Articles/6017/QuickFill-An-efficient-flood-fill-algorithm))。或者您尝试使用Freeman-Chain-Code来获取轮廓和对象尺寸。 – PSchn

+0

非常感谢,我一定会看看这两个人,你一直在帮助很大。 –

相关问题