Dans ce cas là, il faut nous aider en précisant le mode de fonctionnement de ta fonction "détection de mouvement" actuelle!
En effet, si tu utilises déjà une telle fonction, ton problème se résume uniquement au bridage de cette dernière!
Comme l’a indiqué Tableur, si tu travailles sur une différence de tableau entre une image n et une image n+1, il te suffit alors de ne travailler que sur une partie de ces tableaux, ta zone de travaille.
Par exemple:
Si ton tableau n°1 ressemble à ça (je t’explique le principe en binaire, avec un tableau de 10x10 pixels):
1110000000
1110000000
1110000000
0000000000
0000000000
0000111000
0000111000
0000111000
0000011000
0000001000
Si ton tableau n°1 à ça:
0000000000
0111000001
0111000001
0111000001
0000000001
0000111000
0000111000
0000111000
0000011000
0000001000
Alors la comparaison de ces deux tableaux t’indique:
xxx
x x x
x x x
xxx x
x
(les ‘x’ représentent un changement d’état de tes pixels)
On en déduit les points suivants:
- Un élément en haut à gauche s’est déplacée
- Un élément sur la droite de l’image s’est déplacé
- L’élément en bas de l’image au centre n’a pas bougé.
Admettons que l’élément en bas au centre de l’image soit une chaise placée dans le champ de ta caméra, au premier plan. Cela signifie qu’en gros, on verra toujours cette chaise, et que quoi qu’il se passe derrière, on ne le verra jamais… Donc, pour gagner en temps de traitement, autant supprimer cette zonne de nos calculs de détection
Il suffit alors de travailler sur des sous-tableaux de taille 5x5 par exemple, ou, par rapport à notre histoire de chaise, sur la partie supérieure de l’image (tableau de 10x5) etc…