def partial_blur(img, points, kenel_size = 9, type = 1):
"""
Partial Gaussian blur within convex hull of points.
Args:
type = 0 for Gaussian blur
type = 1 for average blur
"""
points = cv2.convexHull(points)
copy_img = img.copy()
black = (0, 0, 0)
if type:
cv2.blur(img, (kenel_size, kenel_size))
else:
cv2.GaussianBlur(img, (kenel_size, kenel_size), 0)
cv2.fillConvexPoly(copy_img, points, color = black)
for row in range(img.shape[:2][0]):
for col in range(img.shape[:2][1]):
if numpy.array_equal(copy_img[row][col], black):
copy_img[row][col] = blur_img[row][col]
return copy_img
评论列表
文章目录