Как бы приблизительно восстановить ветви на фотографии дерева, где части ветвей покрыты листьями?
Я могу извлечь видимые части ветвей, установив порог, затем открыв линейные сегменты под несколькими разными углами. Но как я тогда (приблизительно) заполнил бы места, которые были покрыты листьями?
Предположим, мы начнем с этого рисунка дерева:
загрузить изображение в градациях серого
uu = mmreadgray ('tree2.jpg')
порог темных цветов; преобразовать в двоичный файл; удалить связанные области под площадью 200 пикселей
vv = mmareaopen (mmbinary (mmthreshad (mmneg (uu), 200)), 20)
открыть vv с сегментами линии 10px на 90 градусов, 180 градусов, 135 градусов и 45 градусов; добавить эти изображения вместе, чтобы сформировать маркер изображения ZZ
zz = mmaddm (mmaddm (mmaddm (mmopen (vv, mmseline (10, 90))), mmopen (vv, mmseline (10, 180))), mmopen (vv, mmseline (10, 135))), mmopen (vv, ммселин (10, 45)))
реконструировать видимые части конечностей в vv из изображения маркера zz
aa = mminfrec (zz, vv)
отобразить результат aa поверх исходного изображения uu; разумное извлечение конечностей достигается
ммшоу (ау, аа)
Буду признателен за любые мысли о том, как теперь приблизительно восстановить всю конечность. (Или улучшения шагов, указанных выше). Спасибо!