训练自己的haar分类器【训练前准备】

总体步骤参考的是https://blog.csdn.net/meenr/article/details/115825671

一、数据收集 

收集正样本 ——建立with_hand文件夹

收集负样本 ——建立without_hand文件夹

二、数据预处理

灰度处理+像素处理【使用Python代码对正负样本类型进行更改(.png格式转为.jpg格式)】

使用gray.py将数据图片转为灰度图片,并进行像素处理:正样本20×20,负样本80×80。分别将生成的灰度图片存储到with_hand_gray和without_hand_gray文件夹中。

参考代码:这一篇文章

https://blog.csdn.net/Thomson617/article/details/100894991?spm=1001.2101.3001.6650.11&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-11-100894991-blog-92633440.pc_relevant_recovery_v2&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-11-100894991-blog-92633440.pc_relevant_recovery_v2&utm_relevant_index=12

三、安装opencv

下载opencv并下载下面四个文件:opencv_createsamples.exe 和 opencv_traincascade.exe以及dll文件。下载参考文章基于opencv的haar训练自己的识别器【含 opencv_traincascade.exe和opencv_haartraining.exe下载】_秃头小苏的博客-CSDN博客

四、建文件夹

在正负样本同级目录创建新的文件夹命名为xml,用于存放训练好的xml文件。

 

 五、生成样本路径txt文件

win+R 打开运行窗口,输入 cmd 回车进入命令提示符窗口,用 cd 命令进入正样本with_hand_gray文件夹。

 cd ...\...\with_hand_gray

输入  

dir /b/s/p/w *.jpg > withhand.txt

创建正样本txt文件(里面是图片的绝对路径,之前用的dir /b >withhand.txt 生成的txt文件里面不带路径,之后训练的时候就一直出错)。

用 cd 命令进入负样本without_hand_gray文件夹,cd ...\...\without_hand_gray。

输入

dir /b/s/p/w *.jpg > withouthand.txt

创建负样本txt文件。将生成的withhand.txt和without.txt文件,剪切到xulian文件夹(前面截图的那一级文件夹)中。并在另一个文件夹中备份withhand.txt和withouthand.txt文件,稍后还将使用这两个文件。

生成txt文件之后,对txt文件进行处理,利用记事本的查找替换功能 with_hand.txt中 jpg全部替换为jpg 1 0 0 20 20。without_hand.txt中jpg 全部替换为 jpg 1 0 0 80 80

六、生成样本描述文件

1、正样本vec文件

执行命令时,cd 到正负样本同级目录(xunlian)cd ...\...\...\xunlian

opencv_createsamples.exe -vec withhand.vec -info withhand.txt -num 1000 -w 20 -h 20

 

创建成功。

负样本文件同理。

opencv_createsamples.exe -vec withouthand.vec -info withouthand.txt -num 2500 -w 80 -h 80

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值