Я должен соединить близлежащие контуры в изображении на основе расстояния между ними, которое указывает, должны ли контуры быть соединены.
Теперь уже есть вопрос по той же проблеме здесь /programming/8973017/opencv-c-obj-c-connect-nearby-contours, но здесь он объединяет все контуры в один. Это я не хочу. Я не думаю, что для этого есть какая-то функция в opencv, но вы можете предложить алгоритм для этого. Мое приложение выглядит так:
Я обнаруживаю руки, поэтому я использовал алгоритм определения кожи, чтобы определить их, но так как моя кожа не белая и, возможно, из-за условий осветления иногда контуры ломаются в локте. Поэтому я хочу, чтобы соседние контуры были связаны, но не все (потому что обе мои руки будут в контурах). (Под руками я имею в виду от плеча до ладони.)
Более того, я думаю, что с помощью некоторого обнаружения краев я получу границы моих рук и обнаружу, если часть этого участка внутри этой границы обнаружена как кожа, тогда вся область в пределах этой границы будет определена как кожа, но я не уверен, как это сделать часть.
Любая помощь будет оценена. заранее спасибо
Образец изображения:
В этом изображении я хочу соединить точки (8 соединений), которые имеют расстояние менее 40 пикселей, так что я получу левую руку в виде единого контура
Моя цель - получить только контур руки (мне плевать на любой другой регион)