0

我正在尝试创建一个 1 像素内核:

x = cv2.getGaussianKernel(1, 2)

我在高斯滤波器中使用它:

blur = cv2.GaussianBlur(img, x, 0)

结果,出现错误:

SystemError: new style getargs format but argument is not a tuple

如何修复此错误?

4

1 回答 1

2

您不能将内核传递给 GaussianBlur 函数。您必须传递内核大小。

所以 x 应该是一个像 (5,5) 或 (3,3) 这样的元组

此外,内核大小值应该是奇数和正数,并且可以不同。你不能使用 size(1,2) 因为 2 是偶数。

如果您想查看高斯内核,请使用以下命令:

cv2.getGaussianKernel(ksize, sigma[, ktype]) 

前任:

kernel = cv2.getGaussianKernel(ksize=(1,1),sigma=2)

如果要使用内核模糊图像,请使用以下命令:

cv2.GaussianBlur(src, ksize, sigmaX[, dst[, sigmaY[, borderType]]])

前任:

cv2.GaussianBlur(src, ksize=(1,1))

检查这个

于 2018-02-13T06:29:25.190 回答