我使用 opencv 进行车辆计数过程。
如何将我的BackgroundSubtractorMOG对象(例如BackgroundSubtractorMOG2等)保存到文件中,以便我可以从文件中读取它,再次使用经过训练的背景模型而无需长时间训练?
我碰巧正在寻找这个确切的东西,所以如果其他人仍在寻找它,我将分享我所学到的东西。这好像是最简洁的答案是不。至少OpenCV似乎不支持。
BackgroundSubtractorMOG2继承自BackgroundSubtractor,而BackgroundSubtractor又继承自Algorithm,后者内置了用于存储算法参数的读/写功能。根据 OpenCV 文档算法::写 http://docs.opencv.org/modules/core/doc/basic_structures.html#algorithm-write它仅存储背景模型算法的参数,而不存储背景模型本身。引用链接中的内容:
“但是,背景模型不会被存储。首先,它相当大。然后,如果你存储了背景模型,它可能在下次运行时变得无关紧要(因为移动相机、改变背景、不同的照明等)。因此,BackgroundSubtractorMOG 和BackgroundSubtractorMOG2 也依赖于标准Algorithm::write() 来仅存储算法参数。”
附带说明一下,我完全不同意 OpenCV,而且我不明白为什么他们觉得有必要为我做出这个决定,而不只是允许我保存背景模型(如果我看到它的目的)。无论如何,这就是我发现的,如果其他人知道如何存储背景模型或解决方法:请分享。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)