J'ai besoin de trouver les carrés dans une image en utilisant OpenCV (pas de problème dans matlab ou autre, généralement ce que j'attends sont quelques idées).
Considérez l'image de test ci-dessous:
J'ai besoin de trouver ces carrés colorés dans l'image ci-dessus avec précision (pas les longues bandes blanches).
Ce que j'ai fait :
J'ai appliqué la méthode commune (fournie avec les échantillons OpenCV), c'est-à-dire trouver des contours dans tous les plans de couleurs, l'approcher et vérifier le nombre d'éléments = 4. Cela fonctionne dans une certaine mesure, car peu de carrés sont détectés, en particulier les plus sombres.
La prochaine étape que j'ai faite était la prédiction . c'est-à - dire que cet arrangement est fixe . Donc, si certains sont obtenus, je peux prédire ceux qui restent. Cela a également fonctionné dans une plus grande mesure. Mais la précision était très mauvaise.
Mais j'estime que la prédiction n'est pas une bonne méthode ici et qu'elle ne fournit pas toujours des réponses précises, comme indiqué dans la première étape.
Ce dont j'ai besoin :
1) Existe-t-il d'autres méthodes plus efficaces pour détecter ces carrés plus précisément? Ou plusieurs méthodes?
Un point important est que le temps n’est pas un problème ici . L'algorithme peut être lent, peu importe. Mais la précision est le critère principal.
Parfois, les images peuvent être beaucoup plus floues.
Et l'un des principaux problèmes auquel j'ai été confronté est que certaines cases ont une couleur presque similaire à celle de l'arrière-plan (voir colonne 3 des première et deuxième cases).
À la recherche d'idées, merci d'avance
MISE À JOUR :
Ci-dessous le résultat précis maximum que j'ai obtenu:
Bien sûr, l'image résultante est un peu redimensionnée.
MISE À JOUR 2:
J'ai donné une solution bien meilleure dans ma réponse ci-dessous: https://dsp.stackexchange.com/a/7526/818