gpt4 book ai didi

python - 如何在模糊图像时使用不同的内核形状?

转载 作者:行者123 更新时间:2023-12-01 00:22:44 25 4
gpt4 key购买 nike

我想使用像cv2.GaussianBlur()这样的快速模糊函数,但它只允许矩形内核形状。有没有办法使用椭圆核形状?如果有其他模糊功能允许的话,您能推荐一下该功能吗?

最佳答案

不要依赖内置内核或 opencv 的内置函数,而是使用 cv2.filter2D() 函数来应用您选择的自定义内核以及您选择的值!有了这个,您不仅可以应用您提到的“椭圆”内核,还可以应用您想要的任何内核。

用法如下:

import cv2
import numpy as np

img = cv2.imread('image.png')

kernel = np.ones((5,5),np.float32)/25
dst = cv2.filter2D(img,-1,kernel)

因此,在上面的代码中,内核如下所示:

enter image description here

已使用。

现在,如果您想要一个“椭圆”内核,您可以手动构建一个 np 数组(即内核),并在每一行和每一列中使用自定义值,或者您可以使用 cv2 的 cv2.getStructuringElement 函数为您构建椭圆内核然后你可以在filter2D()函数中使用这个内核。

cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(5,5))

上面的函数将打印:

[[0, 0, 1, 0, 0],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[0, 0, 1, 0, 0]]

这是你的椭圆内核!

关于python - 如何在模糊图像时使用不同的内核形状?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58844989/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com