针对图像的阈值操作,opencv除了提供threshold函数也提供了adaptiveThreshold()函数,从字面意思可以翻译为自适应阈值操作,函数的主要功能是将灰度图转化为二值图像。其函数原型如下:
void cv::adaptiveThreshold ( InputArray src,
OutputArray dst,
double maxValue,
int adaptiveMethod,
int thresholdType,
int blockSize,
double C
)
参数解释:
. InputArray src: 输入图像,8位单通道图像
. OutputArray dst: 目标图像,与输入图像有相同的尺寸和类型
. double maxValue: 给像素赋予的满足阈值类型的非零值
. int adaptiveMethod: 用于指定自适应阈值的算法,具体可以查看adaptiveThresholdTypes给出的具体内容,简要内容如下:
其中ADAPTIVE_THRESH_MEAN_C方法的阈值时由blockSize确定的像素(x, y)在blockSize x blockSize范围内的邻域像素值减参数C得到的平均值,而ADAPTIVE_THRESH_GAUSSIAN_C中阈值是blockSize x blockSize领域范围内减去C后的加权和。默认的sigma用于指定的blockSize,可通过getGaussianKernel查看详细信息。
. int thresholdType: 阈值类型