threshold的用法介绍

来源:互联网 发布:包装设计收费 知乎 编辑:程序博客网 时间:2024/05/28 20:20

     函数threshold()是对单通道的灰度图像进行阙值处理的(函数compare()也可以达到同样的效果)。

     彩色图像可以使用cvtColor(strImage,grayImage,COLOR_RGB2GRAY)来变为灰度图像。

      double threshold( InputArray src, OutputArray dst,double thresh, double maxval, int type );

      第一个参数为输入的图像,Mat类型的即可。

      第二个参数为输出图像,且和输入图像有同等大小和类型

      第三个参数为设定阙值的具体值

      第四个参数 maxval是当第五个参数类型为CV_THRESH_BINARY和CV_THRESH_BINARY_INV是的最大值

      第五个参数是确定生成阙值图像的方法,有以下几种:

      1、CV_THRESH_BINARY:         dst(x,y)={ maxval(第四个参数值)if(src(x,y)>thresh) ,否则为0}

      2、CV_THRESH_BINARY_INV:dst(x,y)={ 0 if(src(x,y)>thresh) ,否则为maxval} 

      3、CV_THRESH_TRUNC :            dst(x,y)={thresh if(src(x,y)>thresh) ,否则为src(x,y)} 

      4、CV_THRESH_TOZERO:           dst(x,y)={ src(x,y) if(src(x,y)>thresh) ,否则为0} 

      5、CV_THRESH_TOZERO_INV:   dst(x,y)={ 0 if(src(x,y)>thresh) ,否则为src(x,y) } 

     CV_THRESH_BINARY

      效果:


CV_THRESH_BINARY_INV

 效果:


CV_THRESH_TRUNC

效果:


CV_THRESH_TOZERO

效果:


CV_THRESH_TOZERO_INV

效果:



0 0