前言
本文所设计的类主要是和人体的手部打交道的,与人体的检测,姿势校正,骨架跟踪没有关系,所以本次类的设计中是在前面的Ope
NIKi
ect系列博文基础上去掉那些与手势无关的驱动,较小代码量负担。类中保留下来有手势识别,手部跟踪,以及手部跟踪的轨迹和多个手部的位置坐标等信息。本类的设计也开始慢慢遵循一些CC编程规范,这里采用的是google的编程规范。本文测试设计出的类的功能是与博文不需要骨骼跟踪的人体多个手部分割一样,进行人体多个手部跟踪和分割。开发环境:开发环境:QtCreator251Ope
NI1540Qt482Ope
CV242
Google编程规范节选
类的设计的规范性,首先是遵循一定的编程风格,这里本人采用的是googleC编程风格。Google编程规范具体内容可以参考网页:GoogleCStyleGuide。这次类的设计是在前面的博文使用Ope
NI自带的类进行简单手势识别和博文不需要骨骼跟踪的人体多个手部分割的基础上从下面几个地方做了编程风格规范:1将类的设计分开为头文件和源文件,前面类的设计是在一个cpp文件中。分开设计的目的是使代码看起来结构更加清晰。2在类中使用特定的声明次序,即public在前,随后依次为protectedprivate且在其内部是成员函数在成员变量之前。比如在public的内部,一般的声明次序为:typedef和e
ums常量,构造函数,析构函数,成员函数包括静态成员函数,数据成员包括静态数据成员。3类中的函数体要尽量短小,紧凑,功能单一。4类的成员函数命名以大写字母开头,每个单词首字母大写,没有下划线。内联函数命名除外。5类的成员变量名一徇小写,单词间以下划线相还,并以下划线结尾。6Typedef类型命名时,其类型名字每个单词以大写字母开头,不包含下划线。
ope
NI知识点总结
从Ope
NI源码的下面2句代码中可以看出,X
UserID是u
sig
edi
t类型。
ftypedef
u
sig
edi
t
X
UI
t32
typedefX
UI
t32X
UserID
ope
i有些回调函数中会有传入参数类型为X
UserID的数据,比如在本文讲类的设计中,X
UserID类型就代表检测到的不同手部的id号,因为该id理论上是用来表明不同的手部的,因此当检测到新的手部时,系统中X
UserID类型对应变量将会加1。总的来看,X
UserID类型对应的变量值一直在递增,刚刚上面有讲到X
UserID是u
sig
edi
t类型的,所以其表示的范围能力可以是很大,即使由于视频中出现有很多的误检导致其值增加很多,这还是足够用了的。误检主要是某些情况下,httpfzlqqq80com人的一只手由于运动速度过快或者其背景的干扰,在手势检测过程中r