首页 > 解决方案 > Python图像/形状识别任务

问题描述

我正在使用与以下示例类似的图像:

图 1

如上图所示,图像将始终是六边形。在每个六边形中,都会有一个形状连接到其中的一些边缘。

我希望能够抓取这张图片并确定其中的形状。

为此,我想将对象存储在这样的数组结构中:

[1,1,1,1,1,1] 其中的值由形状是否连接到六边形的这些对应边来表示:

[上、左上、左下、下、右下、右上](顺时针方向)

图像的另一个示例是:

图 2

该图像将由数组 [0,1,0,1,0,0] 表示。

为了创建这个数组,我正在检查红点显示的图像上每个点的像素,以查看颜色是否为蓝色。这适用于这些类型的形状。

出现此任务的复杂性是六边形可能包含 2 个单独的形状,我想将每个形状的数组存储在六边形中。

一个例子如下:

图 3

从这张图片可以看出,六边形可以有 2 种形状,尽管 2 种形状永远不会共享六边形的同一边。

我想将其表示为:

形状 1:[0,1,0,0,1,0] 形状 2:[1,0,0,1,0,0]

如果我要使用我现有的算法,我只会将其识别为:[1,1,0,1,1,0] 这不是我想要做的。

我如何辨别这些形状?

亲切的问候,

标签: pythonalgorithmopencvimage-processingimage-recognition

解决方案


推荐阅读