Devo collegare i contorni vicini in un'immagine in base alla distanza tra loro che specifica se i contorni devono essere collegati.
Ora c'è già una domanda sullo stesso problema qui /programming/8973017/opencv-c-obj-c-connect-nearby-contours ma qui unisce tutti i contorni in uno solo. Questo non lo voglio. Non penso che ci sia una funzione in opencv per questo, ma puoi suggerire un algoritmo per quello. La mia applicazione va così:
Sto rilevando le mani, quindi ho usato un algoritmo di rilevamento della pelle per determinarle, ma dato che la mia pelle non è bianca e forse a causa delle condizioni di alleggerimento a volte i contorni del gomito si rompono. Quindi voglio che i contorni vicini siano collegati ma non tutti (perché entrambe le mie mani saranno lì in contorni.) (Per mani intendo dalla spalla al palmo.)
Inoltre penso che usando un po 'di rilevamento dei bordi otterrò i confini delle mie mani e rileverò se parte di questa patch all'interno di questo confine viene rilevata come skin, quindi l'intera regione all'interno di questo confine verrà rilevata come skin ma non sono sicuro di come farlo parte.
Qualsiasi aiuto sarà apprezzato. Grazie in anticipo
Immagine di esempio:
In questa immagine voglio collegare punti (8 connettività) che sono meno di 40 pixel di distanza in modo da ottenere la mia mano sinistra come un singolo contorno
Il mio obiettivo è quello di ottenere solo il contorno della mano (non mi interessa nessun'altra regione)