opencv学习笔记四十九:基于距离变换和局部自适应阈值的对象计数

案例背景:统计下图中玉米粒的个数

opencv学习笔记四十九:基于距离变换和局部自适应阈值的对象计数_第1张图片

方案思路:先灰度化,再二值化(基于THRESH_TRIANGLE,图中直方图有明显的双峰值),腐蚀去掉一些小杂点,距离变换,再自适应局部阈值,膨胀连成连通域,寻找轮廓进行计数。

 

距离变换于1966年被学者首次提出,目前已被广泛应用于图像分析、计算机视觉、模式识别等领域,人们利用它来实现目标细化、骨架提取、形状插值及匹配、粘连物体的分离等。距离变换是针对二值图像的一种变换。在二维空间中,一幅二值图像可以认为仅仅包含目标和背景两种像素,目标的像素值为1,背景的像素值为0;距离变换的结果不是另一幅二值图像,而是一幅灰度级图像,即距离图像,图像中每个像素的灰度值为该像素与距其最近的背景像素间的距离。

方法:

首先对图像进行二值化处理(其要处理成二值图),然后给每个像素赋值为离它最近的背景像素点与其距离(Manhattan距离or欧氏距离),得到distance metric(距离矩阵),那么离边界越远的点越亮。

 

opencv学习笔记四十九:基于距离变换和局部自适应阈值的对象计数_第2张图片

你可能感兴趣的:(opencv)