Trong khi nói chung các ràng buộc python mới cho opencv (cv2) là một vẻ đẹp, "mặt nạ" dường như không hoạt động đúng - trừ khi tôi thực sự hiểu sai:Mặt nạ trong python opencv cv2 không hoạt động?
Ví dụ "cv2.add" vẫn hoạt động đúng không có mặt nạ:
import cv2
a = ones((2,2,3), dtype=uint8)
cv2.add(a,a)
cho đúng
array([[[2, 2, 2],
[2, 2, 2]],
[[2, 2, 2],
[2, 2, 2]]], dtype=uint8)
Nhưng khi bạn thêm một mặt nạ (và một mảng out "b" - đó là yêu cầu của đối với một số lý do không được phân định một trong hai) bạn nhận được một kết quả RANDOM, tức là kết quả thay đổi khi bạn chạy lệnh nhiều lần
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)
cho trên máy tính của tôi (Win7, 32bit, 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)
... và những điều mới mẻ về cuộc thử nghiệm tiếp theo. Bây giờ hoặc là tôi nhận được một cái gì đó nghiêm trọng sai, hoặc có một vấn đề nghiêm trọng với các ràng buộc cv2.
Mọi đề xuất?
Nhìn giống như một vấn đề CV2, muốn báo cáo vấn đề trực tiếp trên trang web của họ thay vì đăng lỗi trên stackoverflow! :) – tito
Xong - cảm ơn vì gợi ý, tôi không nhận ra rằng bạn có thể đăng lỗi (tức là "phát hành" vé ") tại đó. – thomash