Использование Python для определения морфологии различных частей объекта на изображении ⇐ Python

Программы на Python
Anonymous
Использование Python для определения морфологии различных частей объекта на изображении

Сообщение Anonymous »

У меня есть вопрос по анализу изображений/морфологии, и мне нужно решение на основе 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]])
В идеале мне бы хотелось, чтобы дорожки были замаскированы, и когда они полностью пересекаются с объектом, как на изображении справа, я хотел бы замаскировать всю дорожку через объект. , не маскируя часть объекта, на которую не влияет дорожка. Поэтому мне бы хотелось, чтобы окончательный результат по маске выглядел примерно так, как показанные здесь белые дорожки:
[img]https://i.sstatic.net /2F5AJ.png[/img]
Изображение


Подробнее здесь: https://stackoverflow.com/questions/235 ... n-an-image

Вернуться в «Python»