Входное изображение:
Ожидаемый результат:
Пожалуйста, не обращайте внимания на цвет.
В качестве исходного изображения у меня есть скелет кровеносных сосудов сетчатки.Я хотел бы удалить одну бифуркацию (также называемую ветвями) сосудов.Бифуркация - это точка, в которой сосуд делится на 2.
Идея, которую я попробовал, заключается в том, что я получаю точки ветвления скелета.После этого я убрал точки ветвления со скелета, чтобы получить края (несвязанные сегменты сосуда).Затем я использовал связанные компоненты, чтобы определить размер различных сегментов сосуда.Обычно в этот момент я должен был идентифицировать бифуркацию, которую хотел бы удалить, но я не смог этого сделать (сама бифуркация фрагментирована в разных крошечных сегментах).
другая идея, которую я имею в виду,получение точек ветвления и конечных точек от скелета.Затем попытайтесь найти путь от начального узла (около оптического диска) до конечного узла.
branchImg = bwmorph(skel_img,'branchpoints');
Edges = skel_img - branchImg;
CC3 = bwconncomp(Edges);
S3 = regionprops(CC3, 'Area');
L3 = labelmatrix(CC3);
Value3 = [S3.Area]
Ожидаемый результат - главные кровеносные сосуды без их раздвоения.