opencv_traincascade问题

在使用OpenCV_traincascade进行分类器训练时遇到错误:Train dataset for temp stage can not be filled. 问题主要由负样本读取失败引起,可能的原因包括:neg.txt文件不包含路径、跨操作系统txt文件格式问题(例如Windows与Ubuntu之间的换行符差异)、以及处理负样本图片时保存了空的MAT文件。解决方案包括确保neg.txt与exe在同一目录、处理txt文件换行符和检查负样本图片的有效性。

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

在用opencv_traincascade训练分类器的时候,遇到了报错如下:

Train dataset for temp stage can not be filled. Branch training terminated.


在stackoverflow上查了一下,问题的根源在于负样本读取失败,导致问题的原因有:

1)负样本描述文件neg.txt不能带路径名,即 : -bg neg.txt 是合法的, -bg negdata/neg.txt是非法的。所以必须把neg.txt文件跟exe文件放在同一个目录下

2)当切换了操作系统时,会因为txt文件的格式问题而导致了负样本读取失败。比如:在windows操作系统下生出了neg.txt,但是在ubuntu下进行训练,这样就会导致错误,这是因为windows下txt文件换行符'\r'在ubuntu下无法识别

3)负样本图片的问题。我遇到的报错原因就是用opencv处理负样本后保存时没有检验负样本是否为空,即直接把空的mat写入了文件,导致了报错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值