我有这样的图像:

使用以下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另外,有没有可能去掉牙齿内部随机的黑线?如有任何帮助,将不胜感激..
发布于 2019-11-04 17:15:24
分离对象的常用方法是使用形态侵蚀,使用类似如下的命令:
magick fangs.png -alpha extract -trim -morphology erode disk:5 result.png以下是各种磁盘大小的效果动画:

更进一步,你可以在循环中进行腐蚀,然后进行“连通分量分析”,计算斑点的数量,并不断增加磁盘大小,直到获得合理的牙齿数量。
或者,你可能需要更努力地工作,并尝试将抛物线(以蓝色显示)与组成牙齿的像素拟合,如果这是最好的形状-而不是牙医,我自己!然后,使用抛物线,您可以找到抛物线周围的法线(以红色显示),并将与最小数量的牙齿相交的法线作为牙齿之间的边界。粗略图:

或者将你的Canny边缘检测图像叠加到拟合的抛物线上,看看你的边缘与它相交的地方。
https://stackoverflow.com/questions/58688723
复制相似问题