【问题标题】:Imagick: Return position and size of circular objects in imageimagick:返回图像中圆形对象的位置和大小
【发布时间】:2020-02-29 11:48:15
【问题描述】:

我有这张图片:

使用这个 Imagick cli 命令:

magick model.png -canny 0x0+1%+10% -negate -blur 3x.7 -solarize 50% -level 50%,0 model_canny.png

它被转换成这个:

是否可以获得牙弓中牙齿的位置/大小?它不一定是完美的。即使它在牙弓中检测到几颗牙齿,我也能很好地了解它是如何工作的。到目前为止,我已经尝试使用 connected-components 参数,它给了我数千个结果,这显然是不正确的。这是我到目前为止所做的:

magick model_canny.png -fuzz 5% -define connected-components:verbose=true -connected-components 4 objects.png

也可以去除牙齿内的随机黑线吗?任何帮助将不胜感激..

【问题讨论】:

    标签: image image-processing object-detection imagick connected-components


    【解决方案1】:

    分离对象的常用方法是使用形态腐蚀,使用类似这样的命令:

    magick fangs.png -alpha extract -trim -morphology erode disk:5 result.png
    

    这里是各种磁盘大小效果的动画:

    更进一步,您可能会在一个循环中腐蚀,然后执行 “连接组件分析” 并计算 blob,并不断增加磁盘大小直到获得合理数量的牙齿。

    或者,如果这是最好的形状,您可能需要更加努力并尝试将抛物线(以蓝色显示)拟合到构成牙齿的像素 - 不是牙医,我自己!然后,使用抛物线,您可以一直找到抛物线的法线(以红色显示),并将穿过最少牙齿的法线作为牙齿之间的边界。粗略图:

    或者也许将您的 Canny 边缘检测图像叠加在拟合的抛物线上,并查看您的边缘与其相交的位置。

    【讨论】:

      猜你喜欢
      • 2014-07-06
      • 2020-03-01
      • 1970-01-01
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-21
      • 2013-07-19
      相关资源
      最近更新 更多