Recherche de rectangle sur une image
📁 Sujets avancés sur Python
Tâche : Trouver un disque dur sur une photo, déterminer son angle et ses contours
Problème : Il n'est pas toujours possible de trouver le bon contour du disque.
Dans le code, je rends les images en niveaux de gris, j'applique un flou, je trouve la différence entre elles et je détermine les contours, mais la solution n'est pas précise. J'aimerais avoir votre aide.
firstFrame = cv2.imread(bg_im) # Image de fond sans le disque
frame_img = cv2.imread(frame) # Image avec le disque
gray = cv2.cvtColor(frame_img, cv2.COLOR_BGR2GRAY)
gray = cv2.GaussianBlur(gray, (21, 21), 0)
firstFrame = cv2.cvtColor(firstFrame, cv2.COLOR_BGR2GRAY)
firstFrame = cv2.GaussianBlur(firstFrame, (21, 21), 0) Dès qu'il s'agit d'appliquer un flou avec une grande taille de noyau, on obtient malheureusement une déformation irréversible de l'objet d'intérêt. L'objet est en quelque sorte délimité par ses contours, mais en termes de taille, de forme (et parfois de position), il peut présenter un écart significatif par rapport à l'original. Inutile de dire que les opérations morphologiques (érosion, dilatation) appliquées par-dessus ne font qu'aggraver le problème.
Dans le cas des images présentées, la complexité vient également du fait que le tapis roulant présente des traces très visibles d'utilisation industrielle. Il s'agit de rayures, de taches et d'autres éléments de ce type, qui, sur l'image de fond et l'image avec l'objet d'intérêt, ont des positions différentes et diffèrent considérablement dans les détails. Ce point devient crucial lorsqu
Connectez-vous pour laisser une réponse