根据轮廓几何特征进行指尖检测

图像的几何矩
图像的几何矩是图像平面上每个像素点的值 看成该处的概率密度,对某点求期望,就是图像在该点处的矩,图像矩一般都是原点矩,可以通过一阶矩和零阶矩计算形状的重心,通过二阶矩计算形状的方向。其计算公式为:

在OpenCV可以使用moments()函数计算,其中‘m00’表示面积,计算出的重心坐标可认为是掌心。使用convexHull()函数可找到最大外接凸多边形。

指尖检测
计算出面积最大的区域,将检测范围固定在此区域。计算重心到轮廓的距离,若有超过连续120个像素点减少,则认为这是一跟手指。再加上若干限制条件,去掉不合理的可能会被误认为手指的情况(如离掌心距离过短,低于手心的点,相邻距离太近的点等等)。

使用自带的circle函数和line函数画出手指。效果如图2.13所示。

就这样,我们找到了我们的每一根手指并把它们标识出来,你可以将他们以数字的形实时式输出,下一篇博客我们将会讲到本次实验做出的改进,以及仍然存在的不足。