Có cách nào đơn giản để đảo ngược mặt nạ bằng OpenCV không? Ví dụ, nếu tôi đã có một mặt nạ như thế này:OpenCV: Đảo ngược mặt nạ?
010
111
010
Tôi muốn nghịch nó và có được điều này:
101
000
101
Lưu ý: Tôi đang sử dụng bindings Python OpenCV, vì vậy khi nó sẽ là có thể chỉ đơn giản là lặp qua từng phần tử trong mặt nạ, tốc độ thực thi có thể trở thành một vấn đề.
Sử dụng [Bitwise Không] (http: // opencv.willowgarage.com/documentation/python/operations_on_arrays.html#not) để lật tất cả các bit trong một ma trận. –
Có thể tôi đang làm điều gì đó ngu ngốc và sai, nhưng tôi không nghĩ rằng một chút không phải là những gì tôi muốn ... Bởi vì sau đó tôi sẽ kết thúc với '255,254,255, ...'. Có thể bởi vì mặt nạ của tôi là một 'Hình ảnh'? –
Nó phụ thuộc vào độ sâu bit của mặt nạ của bạn. Thông thường một mặt nạ phải có độ sâu 1 bit, sẽ lật ngược một chút từ 0 đến 1 và ngược lại. Bạn có thể cần phải chuyển đổi mặt nạ của mình thành hình ảnh sâu 1 bit trước. Nếu bạn có độ sâu bit lớn hơn (ví dụ 4), thì có nó sẽ lật từ '0001' sang' 1110' và từ '0000' sang' 1111' –