当前位置:   article > 正文

机器学习1:OpenCV4.5.5加载xml进行车辆识别_cars.xml

cars.xml

        深度学习准确率高识别效果好,但是对软硬件环境要求高,使用及部署有一定难度,应用受限。相比之下,机器学习效果差一个量级,但是计算量小,计算迅速,部署相对容易,尤其是在一些计算能力有限的嵌入式应用场合,因此这里打算学习一下基于OpenCV实现的机器学习,套路上打算先找一些例程学习怎么使用,再学习怎么训练自己的算法。

        先前在github上下载到了几个车辆识别的机器学习例程,但是发现大多是使用python实现的,不便应用于嵌入式项目中,这里我们尝试转为Visual Studio C/C++编码状态。

图1 github上下载的基于OpenCV用python实现的车辆识别代码及效果

         下载的源码随例程附带了训练好的算法模型xml文件、测试视频和.cpp样例源码:

图2 例程xml文件及附属的.cpp状态源码 

     一、Python转C/C++尝试与遇到的问题

        我们在VS2015下新建功能,加入该cpp文件,发现报错较多无法编译执行:

 图3 例程cpp文件编译报错

 检查发现,是因为我安装的是OpenCV4.5.5,版本较高,而从例程源码看,原作者使用的OpenCV版本偏低,因此许多功能函数已经变更,无法再使用。这里面主要是CvHaarClassifierCascade加载xml文件做目标检测识别的相关函数找不到新的定义所在,在网上搜索“OpenCV4.5 CvHaarClassifierCascade”、“OpenCV4.5 cvLoad”、“OpenCV4.5 机器学习”均找不到关于在OpenCV4.5.5状态下怎么加载xml进行机器学习目标检测识别的例程。

 二、思路与解决

        突然想到,我的OpenCV是在官网上下载了源码,然后在本地自行编译形成的OpenCV库,源码中包含了使用了例程Sample,其中一定有关于机器学习ml模块的使用样例,可以参考OpenCV源码自带的样例找到OpenCV4.5.5下机器学习的应用方法。

        最后在.\opencv-4.5.5\samples\cpp下找到一个人脸识别的例程:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/722296
推荐阅读
相关标签
  

闽ICP备14008679号