【问题标题】:binary image filter thin continuous line二值图像滤波器细实线
【发布时间】:2016-02-15 21:47:46
【问题描述】:

我有一系列连续的帧,它们记录了用真实手笔绘制的画作。 (Those frames)

我要做的是重建绘图笔触。

我想移除手部区域。

我考虑过它的属性。

1.绘图是细线。

2.绘图是连续的。

3.图纸只有用手遮住才不会改变。

所以,现在我想出了一个小主意。

因为我已经有了所有的框架。

对于当前帧的黑色像素,我会检查后续帧是否大部分像素是黑色的(因为有时会被手遮挡),然后我将其识别为画笔。

但是效果不好。

我检查了一些线检测、边缘检测、轮廓检测,但不是我想要的。

你能给我一些建议或方向吗? 1.如何提取细线? 2.如何去除手部区域?

【问题讨论】:

    标签: image algorithm image-processing graphics


    【解决方案1】:

    查看笔画宽度变换 (Stroke Width Transform (SWT) implementation (Java, C#...))。这个概念相对简单,最初的算法已经衍生出几个变体。

    由于您有多个帧,您还可以简单地保留每个帧中存在的任何像素(从“打开”像素的第一帧开始)。这可能比 Stroke Width Transform(或相关算法)更容易实现,但从长远来看,它可能不像您希望的那样健壮。

    笔画宽度变换具有在自然、复杂场景中工作的优势。

    【讨论】:

    • 我看到它是用来提取文字的,但是它也可以提取细的描边吗?
    • 当然。 SWT 算法非常简单,您还可以对其进行调整以适应您的需要。至少您可以使用这样的想法,即垂直通过笔画周边上的点 P 的线将通过另一边的另一个周边点,并且该线也将垂直于该边。笔划将由彼此相距一定距离 D 内的一对匹配周边点组成。其他形状将有不平行的边和/或错误的厚度。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-22
    • 1970-01-01
    • 2016-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多