关于cvThreshold二值化函数

opencv中文说明中是这样说的:

Threshold   

对数组元素进行固定阈值操作

void cvThreshold( const CvArr* src, CvArr* dst, double threshold, double max_value, int threshold_type );

   src   原始数组 (单通道 , 8-bit of 32-bit 浮点数).
   dst   输出数组,必须与 src 的类型一致,或者为 8-bit.
   threshold  阈值
   max_value  使用 CV_THRESH_BINARY 和 CV_THRESH_BINARY_INV 的最大值.

   threshold_type  阈值类型:

                        CV_THRESH_BINARY   dst(x,y) = max_value, if src(x,y)>threshold 0, otherwise.

                        CV_THRESH_BINARY_INV   dst(x,y) = 0, if src(x,y)>threshold; dst(x,y) = max_value, otherwise.

                        CV_THRESH_TRUNC   dst(x,y) = threshold, if src(x,y)>threshold;   dst(x,y) = src(x,y), otherwise.

                        CV_THRESH_TOZERO   dst(x,y) = src(x,y), if (x,y)>threshold ;  dst(x,y) = 0, otherwise.

                        CV_THRESH_OTSU   

                        CV_THRESH_TOZERO_INV dst(x,y) = 0, if src(x,y)>threshold ;  dst(x,y) = src(x,y), otherwise

    之前自己写过otsu的函数,批处理大量图片,发现时间会比较长。换了opencv中的这个函数,比自己写的快了很多,并且二值化的结果基本没什么差别。建议想用otsu二值化的可以直接用这个了微笑

你可能感兴趣的:(DST)