Bonjour à tous
1)
Je suis en train de développer une application qui détecte des véhicules et j'aurais besoins d'aide pour la détection des couleurs.
Pour la détection j'utilise d'abord la méthode Viola et Jones, puis on voit le véhicule détecte, il faut que je détermine sa couleur.
J'ai sept véhicule à détecter et a chaque détection, je voudrais pouvoir comparer mon véhicule au sept couleur et ainsi avoir sa teinte.
Voila ce que j'arrive a faire pour l'instant
Ce que je n'arrive pas a faire c'est à analyser l'image binaire pour dire si la couleur est présente ou pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 detecteur.detectMultiScale( frame_gray, detect, 1.1,2,0,Size(80,80),Size(800,800)); // On detecte les véhicules. for( unsigned int i = 0; i < detect.size(); i++ ) { rectangle(frame, detect[i], Scalar(0,50,0), 2); // On affiche les rectangles //Systeme de détection des couleur couleur=frame.clone(); couleur = couleur(Rect(detect[i].x, detect[i].y, detect[i].width, detect[i].height)); // on étudie que la zone détecté cv::cvtColor(couleur, couleur, CV_BGR2HSV); // On met l'image en HSV inRange(couleur, Scalar(teinte-tolerance,saturation-tolerance,0), Scalar(teinte+tolerance,saturation+tolerance,255), couleur); // On recherche la couleur dilate( couleur, couleur, getStructuringElement(MORPH_RECT, Size(3, 3)) ); // On lisse les pixels imshow ("couleur",couleur); imshow("frame",frame); }
2)
Je me demandais si c'était interresant de séparer mon arrière-plan afin d'avoir juste les véhicules présents a l'écran.
Est-ce que cela accélérerais mon traitement? Sachant que je travaille a partir d'une caméra fixe.
Merci d'avance.
Partager