OpenCV Traincascade.exe在没有输出的情况下崩溃
OpenCV Traincascade.exe crashes without output
这是我第一次尝试使用 opencv 的级联训练机制。我正在基于一个正图像和 3 个负图像的小图像集来尝试这个。我遵循了官方opencv文档的说明。
负片图像由描述文件引用bg.txt
:
Negative/t1.jpg
Negative/t2.jpg
Negative/t3.jpg
负片图像具有不同的大小(都在"1920 x something"像素范围内)。
正图像用于生成矢量文件
opencv_createsamples.exe -img Positive/p1.jpg -num 5000 -w 100 -h 60 -show -vec vecFile.vec
到目前为止,一切都没有错误。我猜矢量文件vecFile.vec
不可读是正常的,因为它存储了 5000 张图像。
当我现在想通过以下方式应用级联训练时
opencv_traincascade.exe -data TrainData/ -vec vecFile.vec -bg bg.txt -w 100 -h 60 -npos 10 -nneg 10
程序崩溃而没有任何输出("程序已停止工作")。知道为什么会这样吗?我忘记了一些重要参数吗?
我使用的是Windows 10和opencv 3。
当我去年尝试训练级联时,我遇到了同样的问题。我发现它非常耗费内存,所以如果你使用以你写的大小(-w 100 -h 60)采样的5000张图像,你的电脑可能会内存不足(或其他事情,如堆大小限制)。在我看来,火车级联将所有示例数据放在 RAM 中进行训练。
您可能需要尝试更小的大小,例如您提到的文档示例 -w 24 -h 24,并少量增加,直到您获得合适的大小但没有崩溃。
相关文章:
- 为什么我不能在不创建字符串变量的情况下使用函数的字符串输出
- 在 c++ 中在开关情况下使用和不使用"break"时的不同输出
- 为什么在这种情况下,bool 类型的输出等于 0?
- CMake:默认情况下,如何使add_custom_command输出保持最新?
- 如何在不丢失输出的情况下杀死/停止终端中正在运行的进程?
- 在这种情况下,如何防止C++输出/控制台窗体关闭
- 两种情况下的输出不应该相同吗?
- STL:在没有输出的情况下处理两个集合
- 在存在错误代码的情况下输出参数与 NRVO
- 如何输出a'&quot在不使用线端的情况下进行文件
- 如何在不将其连接到终端的情况下运行'screen',以便我可以在C++ (qt) 应用程序中捕获输出?
- 为什么在浮点比较中,最后一个小数位数为5的浮点值能给出正确的输出,而在其他情况下却不是
- 在SEGFAULT的情况下,了解GDB输出
- 如何在不移动C 中的光标坐标的情况下输出文本以控制特定坐标
- 如何仅在对象存在/特定情况下输出对象的某个部分?
- 如何在不破坏现有代码的情况下将输出参数添加到功能
- 如何在不reinterpret_cast的情况下将未签名的 char* 输出到文件
- 默认情况下构造函数插入数据后,我没有得到任何输出,但我不确定为什么不
- 在任何情况下都会出现意外输出.我的解决方案出了什么问题
- c++套接字客户端在输出流关闭的情况下不断从Java服务器事件中接收一些内容