[Python][OpenCV] Comment détecter des formes simples via une webcam

Le problème exposé dans ce sujet a été résolu.

Bonjour, J’essaye d’approfondir mes connaissances dans le domaine du machine learning et du traitement vidéo. Pour cela j’aimerai réalisé un programme permettant de détecter une forme simple comme un rond via ma webcam avec la librairie OpenCV. A l’aide de l’algorithme Knn j’ai déjà réalisé la partie classification, par contre je ne sais pas comment l’utiliser sur des ronds visibles depuis ma webcam. Pourriez vous m’indiquer comment m’y prendre pour cela avec openCV ?

Merci d’avance pour votre aide :)

Rebonjour, J’ai réussi à récupérer des images de la webcam, puis à faire des petits traitements dessus comme la réduction du nombre de couleurs grâce à l’algorithme K means. Maintenant afin de pouvoir reconnaitre des cercles sur une image je me demande comment faire, est ce que je dois d’abord faire une détection des features comme par exemple des régions d’intérêt ou bien est que je peux directement faire passer l’image dans l’algorithme knn indiquant s’il s’agit de ronds ?

Là dessus c’est du machine learning je saurai pas te répondre. Par contre si tu cherches un algorithme pour pré-traiter les images, tu peux par exemple déjà passer l’image en HSV, modifier un peu l’image (augmenter le contraste etc) et faire de la détection de contours pour passer à une image binaire. C’est les premières étapes d’une reconnaissance sans machine learning. Dans une image les contours sont faciles à détecter car ils correspondent à un fort gradient localisé, il y a des fonctions toute faites dans OpenCV pour ça. ;)

Du peu que je sais du machine learning, si tu fais du deep learning tu n’as pas de pré-traitement, mais je ne sais pas si c’est le cas de ton système knn.

+1 -0

Bonjour, J’ai suivi tes conseils, j’ai augmenté les contrastes, réalisé une détection des contours avec l’algorithme de Canny puis avec les fonctions findContours et drawContours j’ai récupéré des masques de chaque formes. Maintenant je vais essayé de transformer le tableau numpy array des masques sous la même forme que mon jeu de donnée afin de pouvoir utiliser l’algorithme knn.

Une fois encore merci pour ton aide :)

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte