Si bien, en general, los nuevos enlaces de Python para OpenCV (CV2) son una belleza, no parecen "máscaras" que están funcionando correctamente - a menos que realmente conseguir algo mal:Máscaras en python opencv cv2 no funcionan?
Por ejemplo "cv2.add" sigue funcionando adecuadamente sin una máscara:
import cv2
a = ones((2,2,3), dtype=uint8)
cv2.add(a,a)
da correctamente
array([[[2, 2, 2],
[2, 2, 2]],
[[2, 2, 2],
[2, 2, 2]]], dtype=uint8)
Pero cuando se agrega una máscara (y una serie cabo "b" - que es requerido por por alguna razón no se le asigna tampoco) se obtiene un resultado RANDOM, es decir, el resultado cambia cuando ejecute el comando varias veces
myMask = zeros(a.shape[0:2], dtype = uint8)
mask[1,1] = 255
b = zeros(a.shape)
cv2.add(a,a,b,myMask)
cv2.add(a,a,b,myMask)
da en mi máquina (Win7, de 32 bits, Python 2.7, OpenCV 2.3.1)
In [34]: cv2.add(a,a,b,myMask)
Out[34]:
array([[[ 26, 0, 143],
[ 5, 216, 245]],
[[156, 5, 104],
[ 2, 2, 2]]], dtype=uint8)
In [35]: cv2.add(a,a,b,myMask)
Out[35]:
array([[[35, 0, 0],
[ 0, 3, 0]],
[[ 0, 0, 3],
[ 2, 2, 2]]], dtype=uint8)
... y algo nuevo en la siguiente prueba. Ahora bien, me sale algo muy mal, o hay un problema grave con los enlaces cv2.
¿Alguna sugerencia?
vea como un problema cv2, ¡Prefiero reportar el problema directamente en su sitio web en lugar de publicar el error en stackoverflow! :) – tito
Hecho - gracias por la pista, no me di cuenta de que puede publicar errores (es decir, emitir "tickets") allí. – thomash