19.1 单通道固定阈值cvThreshold()
函数 cvThreshold 对单通道数组应用固定阈值操作。该函数的典型应用是对灰度图像进行阈值操作得到二值图像,或者是去掉噪声。例如过滤很小或很大像素值的图像点。本函数支持的对图像取阈值的方法由 threshold_type 确定。
形式:
void cvThreshold(
const CvArr* src,
CvArr* dst,
double threshold,
double max_value,
int threshold_type
);
参数说明
src:原始数组 (单通道 , 8-bit 或 32-bit 浮点数)。
dst:输出数组,必须与 src 的类型一致,或者为 8-bit。
threshold:阈值
max_value:
使用 CV_THRESH_BINARY 和 CV_THRESH_BINARY_INV 的最大值。
——这个参数是自己设置的,在用到CV_THRESH_BINARY 和 CV_THRESH_BINARY_INV时才会用到max_value。
threshold_type:阈值类型
表5-5:cvThreshold()中阈值类型选项和对应的操作
阈值类型 操作
CV_THRESH_BINARY:
如果 src(x,y)>threshold ,dst(x,y) = max_value; 否则,dst(x,y)=0;
CV_THRESH_BINARY_INV:
如果 src(x,y)>threshold,dst(x,y) = 0; 否则,dst(x,y) = max_value.