我有一个图像分析/形态学问题,我需要一个基于 python 的解决方案。我是一名天文学家,试图从我的图像中掩盖宇宙射线轨迹(从 1 到 100 像素长的条纹)。我使用带有阈值的过滤技术挑选出曲目。它工作得很好,除非轨道碰到一个物体(恒星或星系)。正如您在下面看到的那样,我的轨迹上出现了斑点(如左图中的那个)和环(如右图中的那个)。
在这些图像中,您可以忽略波浪线和“X”,黑框是我的蒙版像素。我想做的是将轨道(长条纹)与斑点和环分开(仅供参考,环出现是因为过滤提高了对象边缘的重要性)。所以我的问题是如何对面具某些部分的形态进行分类并将斑点/环与轨道分开。
如果这样可以更容易地回答问题,这里是左侧图像的掩码:
spots=array([[False,False,False,False,False,False,False,False,False,False,False],
[False,False,False,False,False,False,False,False,False,False,False],
[False,False,False,False,True ,False,False,False,False,False,True ],
[False,False,True ,True ,True ,True ,False,False,False,True ,False],
[False,False,True ,True ,True ,True ,False,False,True ,True ,False],
[False,False,True ,True ,True ,True ,False,True ,True ,False,False],
[False,False,False,True ,True ,True ,True ,True ,False,False,False],
[False,False,False,False,False,True ,True ,True ,False,False,False],
[False,False,False,False,False,True ,True ,False,False,False,False],
[False,False,False,False,True ,True ,False,False,False,False,False],
[False,False,False,False,True ,False,False,False,False,False,False],
[False,False,False,True ,False,False,False,False,False,False,False]])
理想情况下,我希望掩盖轨道,并且当它们与对象完全相交时,如右图所示,我想掩盖整个轨道,穿过对象,而不掩盖对象中不受影响的部分由轨道。所以我希望最终的蒙面结果看起来像这里显示的白色轨道:
谢谢!-亚当