Bonjour,
Je suis étudiant et doit réaliser un projet a l'aide de la bibli OpenCv, je suis tombé sur ce pdf et pas mal d'autre code parlant de plus ou moins la même chose:
http://wcours.gel.ulaval.ca/2008/a/2...arlesA2006.ppt
J'aurai aimé avoir quelques précisions sur ce code :
En effet après étude de la doc si j'ai bien compris on accede au pixel par la fonction : cvGet2D(Iplimage, y, x);Parcourir l'image HSV et vérifier les seuils (suite)
//test minS (=100)
(hsvFrame->imageData + hsvFrame->widthStep*y)[(x*3)+1] >100
)
//…placer un point blanc dans l'image « seuils ».
( seuilFrame->imageData + seuilFrame->widthStep*y)[x] = 255;
//Sinon, placer un point noir.
else
( seuilFrame->imageData + seuilFrame->widthStep*y)[x] = 0;
}
} //fin des boucles
Or pour modifier des valeurs des pixels il utilise un code de ce type :
J'aimerai comprendre ce que signifie ces lignes de codes, on additionne deux champs de l'iplimage et on l'utilise comme si c'était un tableau a une dimension ???for( i=0; i<width; i++)
(imga->imageData + 2*imga->widthStep)[i] =
(uchar)7;
Pour notre projet nous devons detecter un cercle de couleur sur le flux video d'une webcam. Nous devons donc convertir l'espace couleur (RGB -> HSV) et parcourir le premier champ ( H ) correspondant au code de couleur d'après nos recherches pour trouver la couleur qui nous interresse. Nous avons aussi une question par rapport a cela, pourquoi convertir l'espace couleur et ne pas travailler sur du RGB directement, je suppose que c'est plus simple ? mais au final en temps de travail ce n'est pas plus rapide de travailler directement sur du RGB même si c'est plus compliquer ?
Enfin nous arrivons a recuperer le lfux de la webcam mais nous ne trouvons rien nous permettant de regler le nombre d'image par seconde a traiter, quelqu'un aurai une idée d'une fonction opencv nous y aidant ou une façon de proceder pour regler ce problème ?
Donc voila, merci d'avance, Arthur
Partager