在图像Python openCV PIL中,在两个距离最小的点之间画一条线

时间:2018-03-19 10:48:09

标签: opencv matplotlib image-processing python-3.5

我有一个如下图所示的裁剪图像,实际上表示数字2

chopped '2.png'

然而,图像被裁剪,使得左边部分略微被切掉。要修复这个我的逻辑是我将连接两个端点之间的最小距离/它们之间的最小白色区域形成这样的东西

Joined/Repaired '2.png'

我如何实现这一目标我不希望所有终点都连接只有连接最小距离的两个终点才能连接。 我不想要这样的东西

Wrong Joined '2.png'

我是使用openCV python进行图像处理的新手。我该怎么办呢?

1 个答案:

答案 0 :(得分:0)

您可以在两个轮廓之间找到Hausdorff距离,并获得轮廓之间的最近点。对于这种特殊情况,我将按以下步骤进行操作

  1. 反转图片
  2. 获取轮廓
  3. 根据尺寸过滤掉不需要的轮廓
  4. 找到两个轮廓(和相应的终点)之间的Hausdorff距离
  5. 画一条扩张的线