阈值算法:最简单的图像分割方法。
所有阈值算法将源图像(src)和阈值(thresh)作为输入,并通过将源像素(x,y)处的像素值与阈值进行比较来产生输出图像(dst)。如果src(x,y)> thresh,则dst(x,y)被分配一些值。否则dst(x,y)被分配一些其他值。
大津二值化:简单来说,它自动计算双峰图像的图像直方图中的阈值。(对于不是双峰的图像,二值化将不准确)。使用双峰图像,Otsu的算法找到阈值(t),其最小化加权的类内方差。它实际上发现一个t的值位于两个峰之间,使得两个等级的差异最小。
Otsu的阈值方法涉及迭代所有可能的阈值,并且计算阈值的每一侧的像素级的扩展的度量,即落在前景或背景中的像素。目的是找到阈值,其中,前景和背景差距是最小的。
三角算法:在亮度bmax的直方图的最大值和图像中的最小值bmin之间建立一条线。对于从b = bmin到b = bmax的所有b值计算线和直方图h [b]之间的距离d。h [bo]和行之间的距离最大的亮度值bo是阈值,即threshold = bo。当对象像素在直方图中产生弱峰时,该技术特别有效。
图像二值化就是将图像上的像素点的灰度值设置为两个值,一般为0,255或者指定的某个值。
Otsu:
目前fbc_cv库中支持uchar和float两种数据类型,经测试,与OpenCV3.1结果完全一致。