opencv_traincascade问题

来源:互联网 发布:linux ntp漏洞 编辑:程序博客网 时间:2024/04/28 06:14

在用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写入了文件,导致了报错

1 0