我想获取用户的手绘输入,并过滤掉“噪音”,也就是小草图或斑点,用户可能会搞砸并不小心将手接触到绘图设备或类似的东西。
我正在使用 Imagick,这是一个 PHP 包装器,它包装了一个图像处理库,它可以完成除了实际的高级 blob 检测之外的所有操作。所以我可以自由地使用卷积、腐蚀、膨胀和许多其他图像处理工具。我无法在高级 PHP 代码中编写 blob 检测,因为它太慢了。在我使用 ImageMagick 的 API 编写 C 代码并将其包装在 PHP 中之前,我想知道是否有某种“技巧”可以实现我的目标。
例如,我最初的想法是对图像进行腐蚀(在正常情况下,当我想到从图像中去除噪声时,我认为先腐蚀然后膨胀)。但是由于图像中的所有线条都只有几个像素宽,所以一切都会消失。然后我正在考虑某种模糊,因此较长的线条最终会具有较高的强度,然后我可以将较低的线条剔除。但同样,在线条的背景下,我不确定它的效果如何。
我会附上一张增加“斑点”的图片。我会将前 4 个左侧的斑点视为要删除的斑点,但随后保留第 5 个、线条和框。