【问题标题】:Join broken lines in image using OpenCV for python使用 python 的 openCv 连接图像中的线条
【发布时间】:2020-12-05 00:24:54
【问题描述】:

我正在做一个项目,我必须完成下图中的虚线,然后计算面积。有没有办法用python补全下图中的虚线?

Image with broken lines

【问题讨论】:

  • 你试过了吗?
  • 我尝试获取图像的骨架,然后加入线条,但效果不佳,并且还丢弃了线条的粗细
  • 添加一些您在帖子中使用的代码。
  • 这应该给你一个想法...stackoverflow.com/a/63414618/2836621
  • 能否请您也上传预期的结果?我没有完全明白哪些行应该合并哪些不应该合并。

标签: python opencv image-processing scikit-image


【解决方案1】:

你的意思是这样的吗?

这可以通过简单的形态来完成;但是,它受两个条件的约束:

  1. 你只有水平线和垂直线
  2. 您要填充的间隙严格小于您要保留的间隙(图像中的空白区域)
import matplotlib.pyplot as plt
import numpy as numpy

from skimage import io
from skimage import morphology

img = io.imread("test.png", as_gray=True)

# fill horizontal gaps
selem_horizontal = morphology.rectangle(1,50)
img_filtered = morphology.closing(img, selem_horizontal)

# fill vertical gaps
selem_vertical = morphology.rectangle(80,1)
img_filtered = morphology.closing(img_filtered, selem_vertical)

plt.imshow(img_filtered, cmap="gray")
plt.gca().axis("off")
plt.show()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-25
    • 2020-03-08
    相关资源
    最近更新 更多