use*_*275 5 opencv background-subtraction
我使用opencv进行车辆计数过程.如何将BackgroundSubtractorMOG对象(如BackgroundSubtractorMOG2等)保存到文件中,以便我可以从文件中读取它,再次使用训练好的背景模型而无需长时间训练?
小智 6
我碰巧正在寻找这个确切的东西,所以如果其他人还在寻找的话,我会分享我所学到的东西.似乎简短的回答是否定的.至少它似乎不受OpenCV的支持.
BackgroundSubtractorMOG2继承自BackgroundSubtractor,后者继承自Algorithm,该算法具有内置的读/写功能,用于存储算法的参数.根据Algorithm :: write上的OpenCV doc,它只存储背景模型算法的参数,而不存储背景模型本身.从链接引用:
"然而,背景模型并没有存储.首先,它是相当大的.然后,如果你已经存储了背景模型,它可能会在下一次运行时变得无关紧要(因为相机移位,背景改变,光线不同等).因此,BackgroundSubtractorMOG和BackgroundSubtractorMOG2也依赖标准的Algorithm :: write()来存储算法参数."
作为旁注,我完全不同意OpenCV,我不明白他们为什么觉得有必要为我做出这个决定,而不仅仅是让我保存背景模型,如果我看到它的目的.无论如何,这就是我发现的,如果其他人知道如何存储背景模型或解决方法:请分享.