Comment accéder vector<vector<Point>> les contours dans opencv comme élément de la matrice?
Mon problème est que je ne sais pas comment accéder à vector <vector <Point>>
de contour (c'est en 2D comme matrice sur OpenCV)
J'ai envie de le faire. Si le treillis élément ne consiste pas dans les contours de la zone que je veux supprimer que les éléments de la matrice. Pour ce faire, j'ai besoin de connaître les contours de l'élément de trop.
OriginalL'auteur Binja | 2012-09-29
Vous devez vous connecter pour publier un commentaire.
Si ma situation était si urgent, je voudrais demander à ma question plus attentivement.
Si je m'efforce de comprendre votre question, vous voulez envisager un contour au niveau du pixel. Pour ce faire, vous devez dessiner le contour dans une matrice vierge avec drawContour. Et puis comparer deux matrices ou correspondre à un pixel de cette matrice dans le cas où vous voulez pixel par pixel.
OriginalL'auteur Tae-Sung Shin
Vous avez besoin d'une boucle for pour à la fois le premier et le second vecteur. Quelque chose Comme ceci:
est-il for(int i=0;i<les contours.size();i++) ? droit
bien sûr!, désolé, j'ai édité
il a travaillé . J'ai également une question de mon les contours ne sont pas exactes, car je m'attendais à findContours(img1,rgbcontours,de hiérarchie,de CV_RETR_TREE,CV_CHAIN_APPROX_SIMPLE,le Point(0,0) ); avez-vous un truc pour ça?
Juste un petit commentaire si vous voulez accéder au réel
x
ety
coordonnées, lescv::Point
structure ax
ety
membres, de sorteint x = contours[i][j].x;
etint y = contours[i][j].y;
auront accès les membres respectivement. BTW, je upvoted il y a un moment. Voulais ajouter ce commentaire et vous remercie également. +1.OriginalL'auteur Jav_Rock
Si vous avez besoin de tous les points plutôt que de simplement le bord de points, vous pouvez utiliser
drawContours(....,thickness=CV_FILLED)
pour le vidage de ce contour sur un mannequin Tapis, alors vous pouvez obtenir ces points en scannant le mannequin Mat.OriginalL'auteur James Harper