OpenCV 常用函数
斑点检测 SimpleBlobDetector_create
定义
斑点是指二维图像中和周围颜色有颜色差异和灰度差异的区域,因为斑点代表的是一个区域,所以其相对于单纯的角点,具有更好的稳定性和更好的抗干扰能力.斑点通常是指与周围有着颜色和灰度差别的区域。
函数原理
-
阈值:通过使用以minThreshold开始的阈值对源图像进行阈值处理,将源图像转换为多个二进制图像。这些阈值以thresholdStep递增,直到maxThreshold。因此,第一个阈值为minThreshold,第二个阈值为minThreshold + thresholdStep,第三个阈值为minThreshold + 2 x thresholdStep,依此类推;
-
分组:在每个二进制图像中,连接的白色像素被分组在一起。我们称这些二进制blob;
-
合并:计算二进制图像中二进制斑点的中心,并合并比minDistBetweenBlob更近的斑点;
-
中心和半径计算:计算并返回新合并的Blob的中心和半径。
SimpleBlobDetector::Params::Params()
{
thresholdStep = 10; //二值化的阈值步长
minThreshold = 50; //二值化的起始阈值
maxThreshold = 220