我在处理数字信号时遇到问题。 我正在尝试检测指尖,类似于此处介绍的解决方案:使用JavaCV进行手和手指检测。
但是,我使用的不是JavaCV,而是Android的OpenCV,它略有不同。我设法完成了本教程中介绍的所有步骤,但是过滤了凸包和凸缺陷。 这是我的图像的样子:
这是另一种分辨率的图像:
您可以清楚地看到,有很多黄色的点(凸包)和很多红色的点(凸缺陷)。 有时在两个黄色点之间没有红色点,这很奇怪(凸包如何计算?)
我需要像在前面提供的链接中那样创建类似过滤功能,但是要使用OpenCV的数据结构。
凸包是MatOfInt的类型...凸缺陷是MatOfInt4的类型...
我还创建了一些其他数据结构,因为愚蠢的OpenCV在不同的方法中使用了包含相同数据的不同类型的数据...
convexHullMatOfInt = new MatOfInt();
convexHullPointArrayList = new ArrayList();
convexHullMatOfPoint = new MatOfPoint(