我正在处理类似于以下示例的图像:
如上图所示,图像将始终为六边形。在每个六边形内,将有一个形状连接到一些边缘。
我希望能够捕获此图像并确定其中的形状。
为此,我想将对象存储在这样的数组结构中:
[1,1,1,1,1,1] 其中的值由形状是否连接到六边形的相应边缘表示:
[顶部,左上方,左下方,底部,右下方,右上方](顺时针旋转)
图片的另一个示例是:
此图像将由数组[0,1,0,1,0,0]表示。
为了创建此数组,我正在检查由红点显示的图像上每个点的像素,以查看颜色是否为蓝色。对于这些类型的形状,效果很好。
此任务的复杂之处在于六边形可能包含2个单独的形状,我想将每个形状的数组存储在六边形中。
一个例子如下:
从该图像可以看出,六边形可以具有2个形状,尽管这2个形状永远不会共享六边形的相同边缘。
我想将其表示为:
形状1:[0,1,0,0,1,0] 形状2:[1,0,0,1,0,0]
如果要使用现有算法,我只能将其识别为:[1,1,0,1,1,0],这不是我想要的。
如何识别这些形状?
问候,