Удаление бифуркаций кровеносных сосудов - PullRequest
0 голосов
/ 03 июля 2019

Входное изображение:

Input image

Ожидаемый результат:

expected output

Пожалуйста, не обращайте внимания на цвет.

В качестве исходного изображения у меня есть скелет кровеносных сосудов сетчатки.Я хотел бы удалить одну бифуркацию (также называемую ветвями) сосудов.Бифуркация - это точка, в которой сосуд делится на 2.

Идея, которую я попробовал, заключается в том, что я получаю точки ветвления скелета.После этого я убрал точки ветвления со скелета, чтобы получить края (несвязанные сегменты сосуда).Затем я использовал связанные компоненты, чтобы определить размер различных сегментов сосуда.Обычно в этот момент я должен был идентифицировать бифуркацию, которую хотел бы удалить, но я не смог этого сделать (сама бифуркация фрагментирована в разных крошечных сегментах).

другая идея, которую я имею в виду,получение точек ветвления и конечных точек от скелета.Затем попытайтесь найти путь от начального узла (около оптического диска) до конечного узла.

    branchImg = bwmorph(skel_img,'branchpoints');
    Edges = skel_img - branchImg;
    CC3 = bwconncomp(Edges);
    S3 = regionprops(CC3, 'Area');
    L3 = labelmatrix(CC3);
    Value3 = [S3.Area]

Ожидаемый результат - главные кровеносные сосуды без их раздвоения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...