【问题标题】:Draw a line between two points having smallest distance in them in image Python openCV PIL在图像 Python openCV PIL 中距离最小的两点之间画一条线
【发布时间】:2018-08-27 21:39:42
【问题描述】:

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

但是,图像被裁剪,左侧部分被略微切掉。为了解决这个问题,我的逻辑是我将连接两个端点之间的距离最小/它们之间的白色区域最小以形成这样的东西

我如何实现这一点我不希望所有端点都连接只有具有最小距离的两个端点应该连接。 我不想要这样的东西

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

【问题讨论】:

  • 我不是在建议解决方案,因为我认为尝试进行此类修复不是一个好主意。
  • 一开始就避免这样的裁剪。万一它无法避免,我怀疑,你仍然可以在不进行任何视觉修复的情况下将其识别为 2。问题是你想要达到的目标。你的实际问题是什么?

标签: opencv matplotlib image-processing python-3.5


【解决方案1】:

您可能会找到两个轮廓之间的 Hausdorff 距离,并获得轮廓之间的最近点。对于这种特殊情况,我将按照以下方式进行

  1. 反转图像
  2. 获取轮廓
  3. 根据大小过滤掉不需要的轮廓
  4. 求两条轮廓(以及对应的端点)之间的豪斯多夫距离
  5. 画一条扩张线

【讨论】:

    猜你喜欢
    • 2023-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-24
    • 2016-12-25
    • 2011-02-18
    • 1970-01-01
    • 2014-03-01
    相关资源
    最近更新 更多