二值图像中的轮廓和周长识别

Contour and perimeter recognition in binary image

我需要检测轮廓(对象)并找到检测到的对象的周长。

比如我有下面的图片:

所有图像都是二进制的,因此它们仅包含 01

我需要先检测物体,然后找到物体轮廓的周长,我猜面积就知道了,因为这只是所有物体像素的总和。

我在寻找对象时使用 4 像素相干。

我找到了一些算法,但如果我有一个 1 和 0 的数组,我无法弄清楚它们是如何工作的以及如何实现它们。

拜托,谁能提供最容易理解的算法的解释或代码示例。

我需要在不使用 OpenCV 或任何其他库的情况下执行此操作。

您可以执行以下操作:

  1. 为了消除所有小图案的小开口。
  2. 连接组件标记以检测、标记和分离您的对象。 See here for java codes.
  3. 周边提取(每个非空像素至少有一个黑色邻居)。