Python 自适应阈值中的块大小值是基于哪个基础给出的?

Python 自适应阈值中的块大小值是基于哪个基础给出的?,python,opencv,image-processing,Python,Opencv,Image Processing,我并不真正理解在自适应阈值中使用块大小的目的。并且还想知道一个值是基于哪个基础被指定为块大小的。 考虑代码: gaussian=cv2.adaptiveThreshold(grayscaledImage,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,cv2.THRESH_BINARY,115,1) 这里我试图得到灰度图像的自适应高斯阈值。当我将块大小指定为115时,就像上面的代码一样,代码运行良好 但如果,我将块大小指定为114或116,如下所示: gaussian=c

我并不真正理解在自适应阈值中使用块大小的目的。并且还想知道一个值是基于哪个基础被指定为块大小的。 考虑代码:

gaussian=cv2.adaptiveThreshold(grayscaledImage,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,cv2.THRESH_BINARY,115,1)
这里我试图得到灰度图像的自适应高斯阈值。当我将块大小指定为115时,就像上面的代码一样,代码运行良好

但如果,我将块大小指定为114或116,如下所示:

gaussian=cv2.adaptiveThreshold(grayscaledImage,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,cv2.THRESH_BINARY,116,1)

此代码出现错误。现在我的主要问题是,我如何理解应该给出哪个值作为块大小?

来自文档:

blockSize–用于计算块大小的像素邻域的大小 像素的阈值:3、5、7等

块以像素为中心,因此它必须是奇数才能有意义。3、5、7等表示奇数大于1


请阅读文档。它们会告诉你如何正确使用材料。

来自文档:

blockSize–用于计算块大小的像素邻域的大小 像素的阈值:3、5、7等

块以像素为中心,因此它必须是奇数才能有意义。3、5、7等表示奇数大于1


请阅读文档。它们告诉你如何正确地使用这些东西。

自适应阈值本质上是从每个像素生成一幅图像,并为每个像素计算一个阈值。块大小决定这些单独图像的大小,例如,这些单独图像中包括多少相邻像素


如果我们有一个块大小为3。这意味着单个图像区域是一个3x3像素阵列,其中感兴趣的像素是该图像的中心。所以其他8个像素围绕着这个中心像素。块大小为1就是感兴趣的像素。块大小为5将创建一个5x5像素阵列,再次将感兴趣的像素放在中心。当您放置偶数时,程序失败,因为原始像素不是居中像素,也不能居中像素。因此,块大小为2将创建一个2x2像素阵列,该阵列没有中心。这就是导致错误的原因。

自适应阈值实质上是从每个像素生成图像,并为每个像素计算阈值。块大小决定这些单独图像的大小,例如,这些单独图像中包括多少相邻像素


如果我们有一个块大小为3。这意味着单个图像区域是一个3x3像素阵列,其中感兴趣的像素是该图像的中心。所以其他8个像素围绕着这个中心像素。块大小为1就是感兴趣的像素。块大小为5将创建一个5x5像素阵列,再次将感兴趣的像素放在中心。当您放置偶数时,程序失败,因为原始像素不是居中像素,也不能居中像素。因此,块大小为2将创建一个2x2像素阵列,该阵列没有中心。这就是导致错误的原因。

文档中怎么说的。第二个示例抛出了什么样的错误?文档的可能副本只给出了奇数整数作为该参数的示例。请记住,块应该始终是奇数。文档中说了什么。第二个示例抛出了什么样的错误?文档的可能副本只给出了奇数整数作为该参数的示例。请记住,块应始终为奇数