训练分类器,并且用训练好的分类器进行花朵的检测

利用Haar特征,结合级联分类器进行花朵检测,整体思路分为5大步:1 准备昙花、非昙花样本集 2 计算特征值和积分图 3 挑选最优分类器 4 利用Adaboost把这些分类器训练成一个强分类器 5 级联,也就是所谓的强强联手。本文选用窗口是20×20,从这些很多的特征,筛选出有用的特征(即最优弱分类器),然后将这些最优弱分类器训练成一个弱分类器,最后将强分类器进行级联。

集成开发环境(IDE):Anaconda 4.3.30 Python 3.5.3 Opencv 4.5.0
方法:
opencv_createsamples,opencv_traincascade,haar特征+cascade分类器
目标检测分为三个步骤:样本的创建 训练分类器 利用训练好的分类器进行目标检测。
本文花朵图片的来源有3个:1 在网上一张一张下载图片 2 按关键字从百度图片上爬取图片 3 自己拍摄的图片

样本的创建
1 首先,把照片的原图放在pos原图和neg原图文件夹下,把经过美图秀秀软件修改后的图片放在pos和neg文件夹下。图片的格式是jpg,把图片的长,宽变成20,20,把昙花当做正样本,把除昙花以外的花朵当作负样本,其中,正样本有350张,负样本有8367张, pos和neg分别是图片的正样本,负样本,pos正样本如图1所示。
在这里插入图片描t述
neg负样本如图所示。
在这里插入图片描述
2 训练分类器
把Opencv_createsamples.exe和Opencv_traincascade.exe放到同一文件夹下面
在这里插入图片描述
3 生成正样本描述文件和负样本描述文件
使用cmd进入到pos目录下,执行

在这里插入图片描述
执行完后可在pos文件夹中找到pos.txt,打开记事本,删去pos.txt,将文件改成如下格式。
在这里插入图片描述
参数说明:1 表示图片中只有一个要识别的目标。0 0 20 20是待识别物体在图片中的位置
使用cmd进入到neg目录下,执行
在这里插入图片描述生成负样本描述文件,删掉neg.txt
4 生vec文件
使用cmd进入opencv_createsamples.exe目录下,执行

opencv_createsamples.exe -vec pos.vec -info pos/pos.txt -bg neg/neg.txt -w 20 -h 20 
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_43142545

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值