이미지가 있습니다. img. 또한 img의 픽셀 값을 유지하려는 모든 장소에서 값 255가있는 마스크가 다른 모든 위치에서 0입니다.OpenCV python에서 바이너리 마스크를 올바르게 설정하는 방법은 무엇입니까?
저는이 두 가지 이미지를 사용하고 싶습니다. 마스크와 img는 마스크가 255 인 모든 위치에서 원래의 img 값을 갖는 행렬을 만들고 마스크가 0 인 모든 위치에서 -1 값을 만듭니다.
그래서 여기까지 작성했습니다 :
maskedImg = cv2.bitwise_and(img, mask)
그러나 maskedImg는 마스크가 0 인 모든 위치에서 0을가집니다. 빠른 비트 연산을 사용하여 다른 모든 위치에서 0 대신 값 -1을 얻으려면 어떻게해야합니까?
스왑 주석에 대한 이미지 –
@MadPhysicist 덕분와 주변 마스크 (비트되지 않음) 비트 또는. 마스크와 마스크를 이미지로 바꾸면 마스크 외부의 모든 값 255를 갖게됩니다. 마스크 밖의 다른 모든 장소에서 -1 값을 원합니다. –
왜 -1을 선호하는지 모르겠지만 OpenCV는 대개 마스크를 포함한 대부분의 이미지에 대해 uint8을 사용하므로 아마도 프리스트 타입을 바꿔야 할 것입니다. -1을 가질 수 있으려면 – api55