In [1]:
import cv2
import numpy as np

In [2]:
src = cv2.imread('data/src/lena.jpg')

In [3]:
mask = np.zeros_like(src)

In [4]:
print(mask.shape)


(225, 400, 3)

In [5]:
print(mask.dtype)


uint8

In [6]:
cv2.rectangle(mask, (50, 50), (100, 200), (255, 255, 255), thickness=-1)
cv2.circle(mask, (200, 100), 50, (255, 255, 255), thickness=-1)
cv2.fillConvexPoly(mask, np.array([[330, 50], [300, 200], [360, 150]]), (255, 255, 255))

cv2.imwrite('data/dst/opencv_draw_mask.jpg', mask)


Out[6]:
True


In [7]:
mask_blur = cv2.GaussianBlur(mask, (51, 51), 0)

cv2.imwrite('data/dst/opencv_draw_mask_blur.jpg', mask_blur)


Out[7]:
True


In [8]:
dst = src * (mask_blur / 255)

In [9]:
cv2.imwrite('data/dst/opencv_draw_mask_blur_result.jpg', dst)


Out[9]:
True