OpenCV系列教程(十二)手势识别
一 dlib 对非特定目标识别之手势识别
1 编译训练工具
一、找到 imglab 工具源码目录进行配置编译
cd tools/imglab/
cmake .
make
编译完成后将生成的 imglab 工具拷贝到样本照片所在目录。
二、找到 examples/train_object_detector.cpp 样本训练工具,将其拷贝出来单独进行编译,并生成 train_object_detector 命令。
2 训练样本采集
一、拍摄样本照片
dlib 对样本照片并没有太多要求,会做二次处理,样本拍摄建议在光线充足的情况下完成采集,样本数量越多越好,并将拍好的照片统一放在一个目录,比如 img 下面等待处理。
二、生成 xml 描述文件
./imglab -c data.xml img
三、手动标记检测目标或特征点
在弹出的图形化工具上面对需要检测的特征进行标记,通过 shift 选择识别对象,双击选中对
象以后,右键可以标记特征点,标记完成点 File->save 保存结果到 xml 中
命令如下:
./imglab data.xml
如果要标记特征点,需要增加参数
./imglab mydataset.xml
--parts
"1 2 3 4 5 6 7 8 9 10"
打开 xml 可以查看目标或特征的标记坐标,同时还生成了一个image_metadata_stylesheet.xsl 样式文件。
四、开始训练样本
./train_object_detector -tv data.xml
训练结束后会生成 object_detector.svm 模型序列,这个模型就可以用于对象检测了。
五、训练模型测试
一般先从训练样本中随便找张照片进行测试,测试如果能够成功找出目标后,再用于实际的目标识别:
./train_object_detector photo.png
猜你喜欢LIKE
相关推荐HOT
更多>>javabean是什么?
在Java中,JavaBean是一种符合特定规范的普通Java类,用于封装数据和提供操作数据的方法。JavaBean是一种重要的设计模式,用于实现面向对象编程...详情>>
2023-06-06 16:27:20java零基础入门到精通怎么学?
Java是一门广泛应用于企业级开发和大型应用程序的编程语言。要从零基础入门到精通Java,需要以下步骤和建议:1.学习基础知识:开始学习Java编程...详情>>
2023-06-05 17:02:00token是什么意思
Token是“令牌”的意思,它通常被用于身份验证和授权。在计算机系统中,当用户通过身份验证后,系统会颁发一个Token给用户,用于标识用户身份和...详情>>
2023-04-20 10:57:41虚函数的作用和实现原理
在父类中声明虚函数:在父类中通过在函数声明前加上 virtual 关键字来声明一个虚函数。需要注意的是,虚函数的使用需要谨慎,因为虚函数的调用...详情>>
2023-04-14 14:20:27