📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨
📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】
📢:文章若有幸对你有帮助,可点赞 👍 收藏 ⭐不迷路🙉
📢:内容若有错误,敬请留言 📝指正!原创文,转载请注明出处
1.训练分类器制作 xml 文件
opencv的代码仓中保存着很多已经训练好的Haar分类器,如检测脸部、眼睛、微笑等。这些分类器以xml的文件格式保存在haarascades文件夹中。
2.创建样本
训练样本分为正样本和负样本,其中正样本都是需检测物品的图片,尽量选取背景颜色单一的。正样本描述形如:XXX.jpg 1 0 0 20 20,1代表一张图片,00代表图片的起点,20、20分别表示图像的长和宽。
负样本是除了正样本以外的其他样本。
样本数量越多训练结果越好,负样本一般是正样本的3-5倍。
3.训练分类器
将正样本描述文件转换成vec文件。
4.图像识别
当生成xml文件后,就根据xml文件中的数据是被图片中的物体。
代码包括:1.读取图片
2.判断是否为灰度图。当通道数的值表示三时,则是灰度图。
3.如果不是灰度图,需转化为灰度图。
4.物体检测。detectMuliScale()函数进行检测,它能返回包含对象的矩形框。