Avatar ·

Amélioration de l'algorithme de reconnaissance de la canette Coca-Cola : comment augmenter la précision ?

Bonjour à tous ! Je suis un développeur C++ débutant et je travaille sur un projet de reconnaissance de canettes Coca-Cola sur des images. J'utilise OpenCV. Actuellement, j'ai un algorithme simple qui cherche des contours et tente de les faire correspondre à un modèle par couleur et forme. Mais la précision est terrible — sur un échantillon de test de 50 images, seulement 30 à 40 % des canettes sont correctement reconnues. Les problèmes surviennent avec un éclairage différent, des rotations de la canette, la présence de reflets ou un chevauchement partiel. Voici mon code actuel (simplifié) : ```cpp #include #include int main() { cv::Mat img = cv::imread("test.jpg"); cv::Mat hsv; cv::cvtColor(img, hsv, cv::COLOR_BGR2HSV); // Masques pour la couleur rouge de la canette (deux plages à cause des particularités HSV) cv::Mat mask1, mask2; cv::inRange(hsv, cv::Scalar(0, 70, 50), cv::Scalar(10, 255, 255), mask1); cv::inRange(hsv, cv::Scalar(170, 70, 50), cv::Scalar(180, 255, 255), mask2); cv::Mat mask = mask1 | mask2; // Recherche