C++ 中二值化的 API 函数是 cv::threshold(),Opencv 中二值化的 API 函数是 cv::threshold() 和 cv::adaptiveThreshold()。

cv::threshold() 函数的参数介绍如下:

void cv::threshold(
    cv::InputArray src, // 输入图像
    cv::OutputArray dst, // 输出图像
    double thresh, // 阈值
    double maxval, // 最大值
    int type // 二值化类型
);

其中,thresh 表示二值化的阈值,maxval 表示二值化后的最大值,type 表示二值化的类型,包括以下几种:

  • cv::THRESH_BINARY:大于阈值的像素值设为 maxval,小于等于阈值的像素值设为 0。
  • cv::THRESH_BINARY_INV:大于阈值的像素值设为 0,小于等于阈值的像素值设为 maxval。
  • cv::THRESH_TRUNC:大于阈值的像素值设为阈值,小于等于阈值的像素值不变。
  • cv::THRESH_TOZERO:大于阈值的像素值不变,小于等于阈值的像素值设为 0。
  • cv::THRESH_TOZERO_INV:大于阈值的像素值设为 0,小于等于阈值的像素值不变。

cv::adaptiveThreshold() 函数的参数介绍如下:

void cv::adaptiveThreshold(
    cv::InputArray src, // 输入图像
    cv::OutputArray dst, // 输出图像
    double maxValue, // 最大值
    int adaptiveMethod, // 自适应方法
    int thresholdType, // 二值化类型
    int blockSize, // 块大小
    double C // 常数项
);

其中,adaptiveMethod 表示自适应方法,包括以下几种:

  • cv::ADAPTIVE_THRESH_MEAN_C:块内平均值作为阈值。
  • cv::ADAPTIVE_THRESH_GAUSSIAN_C:块内高斯加权平均值作为阈值。

thresholdType 表示二值化类型,与 cv::threshold() 函数相同。blockSize 表示块大小,C 表示常数项。


原文地址: https://www.cveoy.top/t/topic/j7Xu 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录