Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image Imagick:返回图像中圆形对象的位置和大小_Image_Image Processing_Object Detection_Imagick_Connected Components - Fatal编程技术网

Image Imagick:返回图像中圆形对象的位置和大小

Image Imagick:返回图像中圆形对象的位置和大小,image,image-processing,object-detection,imagick,connected-components,Image,Image Processing,Object Detection,Imagick,Connected Components,我有这样的图像: 使用此Imagick cli命令: magick model.png -canny 0x0+1%+10% -negate -blur 3x.7 -solarize 50% -level 50%,0 model_canny.png 它被转换为: 是否有可能获得牙弓中牙齿的位置/大小?它不一定是完美的。即使它在牙弓上发现了一些牙齿,我也很想了解它是如何工作的。到目前为止,我尝试使用连接的组件param,它给了我数千个结果,这显然是不正确的。以下是我迄今为止所做的工作: mag

我有这样的图像:

使用此Imagick cli命令:

magick model.png -canny 0x0+1%+10% -negate -blur 3x.7 -solarize 50% -level 50%,0 model_canny.png
它被转换为:

是否有可能获得牙弓中牙齿的位置/大小?它不一定是完美的。即使它在牙弓上发现了一些牙齿,我也很想了解它是如何工作的。到目前为止,我尝试使用
连接的组件
param,它给了我数千个结果,这显然是不正确的。以下是我迄今为止所做的工作:

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

还有可能去除牙齿内部的随机黑线吗?任何帮助都将不胜感激。

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

magick fangs.png -alpha extract -trim -morphology erode disk:5 result.png
以下是各种磁盘大小效果的动画:

再进一步说,你可能会在一个循环中腐蚀,然后进行“连接组件分析”并计算斑点,然后不断增加磁盘大小,直到你得到一个合理的齿数

或者,如果这是最好的形状,你可能需要更加努力地工作,并尝试将抛物线(以蓝色显示)拟合到组成牙齿的像素上——而不是牙医,我自己!然后,使用抛物线,可以找到抛物线的法线(显示为红色),并将穿过最小齿数的法线作为齿之间的边界。简图:


或者将你的Canny edge detected图像叠加在拟合的抛物线上,看看你的边与它相交的位置。

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

magick fangs.png -alpha extract -trim -morphology erode disk:5 result.png
以下是各种磁盘大小效果的动画:

再进一步说,你可能会在一个循环中腐蚀,然后进行“连接组件分析”并计算斑点,然后不断增加磁盘大小,直到你得到一个合理的齿数

或者,如果这是最好的形状,你可能需要更加努力地工作,并尝试将抛物线(以蓝色显示)拟合到组成牙齿的像素上——而不是牙医,我自己!然后,使用抛物线,可以找到抛物线的法线(显示为红色),并将穿过最小齿数的法线作为齿之间的边界。简图:

或者把你的精明的边缘检测图像叠加在拟合的抛物线上,看看你的边缘在哪里与之相交