Как бы приблизительно восстановить ветви на фотографии дерева, где части ветвей покрыты листьями?
Я могу извлечь видимые части ветвей, установив порог, затем открыв линейные сегменты под несколькими разными углами. Но как я тогда (приблизительно) заполнил бы места, которые были покрыты листьями?
Предположим, мы начнем с этого рисунка дерева:
загрузить изображение в градациях серого
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; разумное извлечение конечностей достигается
ммшоу (ау, аа)
Буду признателен за любые мысли о том, как теперь приблизительно восстановить всю конечность. (Или улучшения шагов, указанных выше). Спасибо!
Ответы:
The masked area hidden by leaves is very large and while the border and shading seems to imply what is hidden to a human being it is unsuited to "inpainting" which relies on pretty consistent boundary, such as where a foreground object temporarily obscures something continuing behind.
The branch orientation is a start but not enough data on its own to imply how the twigs extend without having some external concept of an oak tree versus a willow, poplar or pine. That is more about 3d fractal modeling than about image restoration.
The least obviously visible algorithms for in-painting involve texture synthesis called "Healing" in Photoshop. G'MIC and Resynth are popular open-source tools for that available as plug-ins for GIMP. While visual continuity is quite good they have no concept of a tree or depth, just 2-d patch statistics so would need input from an artist as well in the example given. The mask is white background on the outer edges and thick branches on the inside .. so texture interpolation gives a weird unnatural result.
источник