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

Posted 程序媛一枚~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用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

以上是关于使用Python,OpenCV沿着轮廓寻找极值点的主要内容,如果未能解决你的问题,请参考以下文章

python --opencv图像处理轮廓(寻找轮廓绘制轮廓)详解

通过 python opencv 寻找齿轮的牙齿

OpenCV-Python:轮廓

如何利用OpenCV寻找轮廓的中心?

Python-OpenCV中的图像轮廓检测

[OpenCV-Python] OpenCV 中的图像处理 部分 IV (四)