Cascade分类器训练

本文介绍了如何使用OpenCV的opencv_createsamples和opencv_traincascade工具训练Cascade分类器,包括准备正负样本数据,生成vec文件,以及调整训练参数等步骤。重点强调了-w和-h参数对于训练时间和效果的影响,推荐使用LBP特征类型进行快速训练。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

准备数据

 

训练的过程其他方法的训练大致一样,首先是准备正样本,负样本,然后交由训练程序进行训练。

Opencv里面自带的Cascade训练器在准备数据的时候有点不一样,它要求将正样本图片写入到一个vec二进制文件中(这应该是为了在训练的时候方便并行运算),opencv提供了一个程序opencv_createsamples来生成vec文件,使用该程序需要按下面的格式准备好正负样本数据。

正样本和负样本均放在一个文件夹下,结构如下:

负样本文件夹下面有一个文件夹和一个bg.txt,存放的数据如下

/img 

    img1.jpg 

    img2.jpg

bg.txt

 

Bg.txt里面的数据如下

img/img1.jpg

img/img2.jpg

 

正样本文件夹下面有一个文件夹和一个pos.txt,存放的数据如下

/img 

    img1.jpg 

    img2.jpg

pos.txt

 

pos.txt除了存放图片名外,还存放了图像中目标的boundingbox的Rect,内容如下

img/img1.jpg  1  140 100 45 45

img/img2.jpg  2  100 200 50 50   50 30 25 25

 

文件名之后跟的是boundingbox的数目,后面就是对应的Rect

准备好这些数据之后,再执行opencv_createsamples生成vec文件,下面是一个使用示例:

将数据文件夹全部都放在e:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值