Existe-t-il un moyen simple d'inverser un masque en utilisant OpenCV? Par exemple, si j'ai un masque comme celui-ci:OpenCV: Inverser un masque?
010
111
010
Je voudrais inverser et obtenir ceci:
101
000
101
Note: J'utilise les liaisons Python OpenCV, donc tout il serait possible de simplement boucler sur chaque élément dans le masque, la vitesse d'exécution pourrait devenir un problème.
Utilisez un [Négation binaire] (http: // opencv.willowgarage.com/documentation/python/operations_on_arrays.html#not) pour retourner tous les bits dans une matrice. –
Il est possible que je fasse quelque chose de stupide et de mal, mais je ne pense pas à un bitwite - ce n'est pas ce que je veux ... Parce que je finirai par '255,254,255, ...'. C'est peut-être parce que mon masque est un 'Image'? –
Cela dépend de la profondeur de votre masque. Normalement, un masque devrait avoir une profondeur de 1 bit, ce qui ferait basculer le bit unique de 0 à 1 et inversement. Vous devrez peut-être d'abord convertir votre masque en image 1 bit. Si vous avez une plus grande profondeur de bits (ex 4), alors oui, il passerait de '0001' '1110' et de' 0000' '' 1111' –