小编01g*_*t13的帖子

opencv python中的渐变蒙版混合

我有一个图像和圆形区域。我需要模糊所有,除了圆形区域。另外我需要使圆的边界平滑。
输入: 输入

输出(在带有掩码的图像编辑器中制作,但我认为 opencv 仅使用位图掩码):
输出

现在我在 python 中有代码,它不会模糊圆圈的边界。

def blur_image(cv_image, radius, center, gaussian_core, sigma_x):
    blurred = cv.GaussianBlur(cv_image, gaussian_core, sigma_x)
    h, w, d = cv_image.shape
# masks
    circle_mask = np.ones((h, w), cv_image.dtype)
    cv.circle(circle_mask, center, radius, (0, 0, 0), -1)
    circle_not_mask = np.zeros((h, w), cv_image.dtype)
    cv.circle(circle_not_mask, center, radius, (2, 2, 2), -1)
# Computing
    blur_around = cv.bitwise_and(blurred, blurred, mask=circle_mask)
    image_in_circle = cv.bitwise_and(cv_image, cv_image, mask=circle_not_mask)
    res = cv.bitwise_or(blur_around, image_in_circle)
    return res
Run Code Online (Sandbox Code Playgroud)

当前版本:
在此处输入图片说明 如何模糊圆圈的边界?在输出示例中,我在程序中使用了渐变掩码。opencv 中有类似的东西吗?
更新 04.03
所以,我已经尝试过这个回答主题的公式以及我所拥有的:
另一个尝试
代码:

def blend_with_mask_matrix(src1, src2, …
Run Code Online (Sandbox Code Playgroud)

python opencv mask image-processing

3
推荐指数
2
解决办法
1万
查看次数

标签 统计

image-processing ×1

mask ×1

opencv ×1

python ×1