基于Kinect深度传感器的手势识别与特征匹配目标检测
1. 基于Kinect深度传感器的手势识别
1.1 手部形状分析
当我们大致确定手部位置后,接下来要对手部形状进行分析,具体步骤如下:
1. 确定分割手部区域的轮廓 :使用OpenCV的 cv2.findContours 函数,该函数作用于二值图像,返回被认为是轮廓一部分的点集。由于图像中可能存在多个轮廓,还可以检索整个轮廓层次结构。示例代码如下:
def _find_hull_defects(self, segment):
contours, hierarchy = cv2.findContours(segment,
cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
由于不确定具体要找的轮廓,假设最大的轮廓就是我们所需的,通过遍历轮廓列表,计算轮廓面积( cv2.contourArea ),并存储最大的轮廓:
max_contour = max(contours, key=cv2.contourArea)
- 计算轮廓区域的凸包 :凸包是轮廓区域的包络。可以直接从最大轮廓获取凸包,将
returnPoints可选标志设置为Fal
超级会员免费看
订阅专栏 解锁全文
13

被折叠的 条评论
为什么被折叠?



