Python 调整自适应阈值参数背后的直觉

Python 调整自适应阈值参数背后的直觉,python,opencv,image-processing,image-segmentation,adaptive-threshold,Python,Opencv,Image Processing,Image Segmentation,Adaptive Threshold,在遵循和使用函数时,我对调整blocksize和C以找到理想值的直觉感到困惑 当调整这些参数而不是进行完全随机的猜测和检查过程时,应该采取什么方法?有没有更好的技术可以基于图像的颜色组织程序来学习这些参数 cv2.adaptiveThreshold(img, maxValue, adaptiveMethod, thresholdType, blockSize, C) 块大小的选择应确保块始终可以看到前景和背景。如果块太小,完全位于前景或背景内的块将看不到区域中的实际对比度,它将只看到噪声。因此

在遵循和使用函数时,我对调整
blocksize
C
以找到理想值的直觉感到困惑

当调整这些参数而不是进行完全随机的猜测和检查过程时,应该采取什么方法?有没有更好的技术可以基于图像的颜色组织程序来学习这些参数

cv2.adaptiveThreshold(img, maxValue, adaptiveMethod, thresholdType, blockSize, C)

块大小的选择应确保块始终可以看到前景和背景。如果块太小,完全位于前景或背景内的块将看不到区域中的实际对比度,它将只看到噪声。因此,对于该块,阈值化结果将不会分离背景和前景,而是在单一相位内分离噪声

如果每个块都看到大量的两个相位,则阈值
C
可以为零

如果无法选择足够大的块大小,并且某些块只能看到背景,则可以将
C
值设置为足够大,使这些块只能看到背景。背景噪声标准偏差的两倍是一个良好的起始值

同样,如果前景相位较大,则将
C
设置为负值,以便完全位于前景中的块只产生前景