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
No answers yet.
Connectez-vous pour laisser une réponse