img1이 있고, img2에 해당하는 부분을 흐리게 보일 때 사용하는 방법이다. 여러가지 방법이 있을 것 같으나, 내가 사용한 방법은 다음과 같다.
보통 마스킹 이미지는 배경이 검고, 보여줄 부분은 하얗게 만든다. bitwise를 이용하면 어떻게 하던지 한 쪽 밖에는 볼 수 없다. 그래서 두 장의 이미지를 서로 겹치게 하는 addWeighted를 이용한다.
원래 이미지와 같은 크기를 가지는 3채널 이미지 array를 만든다. zeros_like를 이용하면 0 값을 가진 것을 쉽게 만들 수 있다.
img2 = numpy.zeros_like(img1)
본인이 원하는 부분에 적절히 흰색의 값인 255를 입력해 둔다. 그리고 반전한다. 반전을 해야 관심이 없는 부분을 흐리게 만들기가 수월하다. 반전 이미지는 img2에 bitwise_not를 적용시키면 얻을 수 얻을 수 있다.
img2 = cv2.bitwise_not(img2)
다음과 같이 img1과 img2를 겹친다.
masked = cv2.addWeighted(img1, 1, img2, 0.1, 0)
이러면 예쁘지는 않지만 관심없는 부분을 조금 옅게 볼 수 있다.