728x90
background를 blur 처리한 이미지를 사용하려고 한다면 다음과 같은 코드를 사용하면 된다.
img = cv2.imread(img_path)
box = <box points>
# -- background
blur_bg = cv2.blur(img, (h, w))
mask1 = np.zeros((h, w, 3), np.uint8)
mask2 = np.ones((h, w, 3), np.uint8) * 255
cv2.fillPoly(mask1, box, (255, 255, 255))
# -- indexing
img_idx = np.where(mask1 == mask2)
bg_idx = np.where(mask1 != mask2)
# -- fill box
res = np.zeros((h, w, 3), np.int64)
res[img_idx] = img[img_idx]
res[bg_idx] = blur_bg[bg_idx]
res = res[y1:y2, x1:x2, :]
이외에 backgroud를 white나 black으로 해준다고 하면 더 간단한 코드로 실행할 수 있을 것 같다.
728x90
'Temp' 카테고리의 다른 글
[Linux] APEX Install (0) | 2022.08.01 |
---|---|
[Docker] Get Started (0) | 2022.07.30 |
[JSON] json.loads() -> Expecting value: line 1 column 2 (char 1) (0) | 2022.03.28 |
[Git] Pull Request 수정 (0) | 2022.03.25 |
[Pytorch] How to use pytorch hooks? (0) | 2022.02.20 |