DL

python - cv2 라이브러리 사용하여 segmentation mask visualization

jaeha_lee 2024. 2. 18. 18:06

 

위 그림처럼 segmentation mask가 있을 경우 visualization 하는 방법에 대해 공유해보고자 한다.

이렇게 visualization 할때 matplotlib, cv2 등등 있지만, 본 포스팅에서는 cv2를 이용하여 만들고자 한다.

 

mask가 boolean 형태로 이미지 가로,세로 크기 형태로 있을 경우 이미지에 다음과 같이 cv2.addWeighted 함수를 사용하면 쉽게 투명도를 반영하여 그릴 수 있다.

cv2.addWeighted 함수는 다른 블로그에도 자세히 설명이 있으니 본 포스팅에서는 그냥 이용만 한다

def save_mask(origin_img, mask, save_name,color=(0,0,255)):
    # origin_img.shape => (h,w,c)
    # mask.shape => (h,w)
    seg = origin_img.copy()
    seg[mask_reshape] = color
    transparent_img = cv2.addWeighted(image,0.5,seg,0.5,1.0)
    cv2.imwrite(save_name,transparent_img)
    return transparent_img