I am currently attempting to use OpenCV 2.3 and c++ to detect a hand (wearing a green glove), and distinguish between different hand gestures.
此时此刻,我下一步是获取手上的具体特征(复杂的缺陷)。
迄今为止,我已在我的工作中利用了这些职能:
mixChannels(); //to subtract non-green channels from green.
threshold(); //to convert to binary
erode(); dialate(); //to get rid of any excess noise
findContours(); //to find contours of course
通过使用<代码>drawContours(<>)。
Next step, and this is where I m at, is using convexHull()
, which also works in OpenCV 2.3. I have however yet to find out how the vector results of convexHull()
actually look (what features they contains).
但是,这是trick尽的。
我发现,较老的开放式的版本(使用<代码>IplImage)几乎没有什么功能称为cvConvexityDefects(
),从而在轮椅上造成一系列缺陷。 这些都是我所需要的,但开放式公民团体2.3似乎没有这种职能,我看不出我如何利用旧的辛迪加来取得这些结果。
这里有 链接到开放式中心文件cvConvDefects
<<>>>>>>。
我要求的是,要么是类似的开放CV 2.3功能,要么是找到这些缺陷的自成文法或算法。 或者使用原2.1辛奈的病媒结果或类似情况的方法。
(我知道,我可以使用其他特征、直截了当的箱子和合适的圈子。) 但我确信,先天缺陷会产生最可区分的特点。
Solution - I ended up using a c++ wrapper from this post The only thing not working for this wrapper seems to be a leek of the defects vector, which should be easily solvable.
下一步是从这些缺陷中获得一些可用数据。 (第一 gl。) 这些数据似乎是汇合点的单一点。 Hu或 Con或 count。 我最初预计有两点,即一点和长点,似乎不是这样。 如果我打碎砖墙,我就再打另一个哨所。