使用Python,OpenCV沿着轮廓寻找极值点

使用Python,OpenCV沿着轮廓寻找极值点

这篇博客将介绍如何使用Python,OpenCV沿着轮廓寻找极值点,找到最北、最南、最东和最西(x,y)坐标。虽然这项技能本身并不有用,但它通常被用作更高级计算机视觉应用程序的预处理步骤。这种应用的一个很好的例子是手势识别(hand gesture recognition):

cv2.findContours返回的只是(x,y)-坐标的NumPy数组。通过在此数组上调用argmin()和argmax()可以提取极值(x,y)-坐标。

1. 效果图

原始图 VS 效果图如下:
原始图像包含一只手。将计算手部轮廓沿线的最北、最南、最东和最西(x,y)坐标,并绘制在右图中(最西端的点用红色标记,最北端的点用蓝色标记,最东端的点用绿色标记,最南端的点用蓝绿色标记)
在这里插入图片描述

从图像中分割了皮肤/手,计算了手轮廓的凸包(蓝色轮廓),然后找到了凸包沿线的极值点(红色圆圈)。
通过计算手部沿线的极值点,可以更好地近似手掌区域(突出显示为蓝色圆圈)
反过来能够识别手势及举起的手指数量等;

2

猜你喜欢

转载自blog.csdn.net/qq_40985985/article/details/125616254