c – 无法在BackgroundSubtractorMOG2中设置用户参数
发布时间:2020-12-16 04:56:39 所属栏目:百科 来源:网络整理
导读:OpenCV库版本2.42.我想在BackgroundSubtractorMOG2对象中设置一个参数,例如 BackgroundSubtractorMOG2 bgr; // the following doesn't work because 'nmixtures','backgroundRatio' // and 'fVarMin' are a protected members.bgr.nmixtures = 3; bgr.backgr
OpenCV库版本2.42.我想在BackgroundSubtractorMOG2对象中设置一个参数,例如
BackgroundSubtractorMOG2 bgr; // the following doesn't work because 'nmixtures','backgroundRatio' // and 'fVarMin' are a protected members. bgr.nmixtures = 3; bgr.backgroundRatio = 0.9; bgr.fVarMin = 5; // the following works bgr.set('nmixtures',3); // both of the following lines will give a run-time error // `Access violation reading location 0x0000000000000008.` bgr.set("backgroundRatio",0.9); bgr.set("fVarMin",5); backgroundRatio和fVarMin是控制算法的参数.用户应该能够根据documentation更改这些参数. 如何设置BackgroundSubtractorMOG2的参数? 编辑正如下面的答案中正确提到的,这是OpenCV中的一个错误.该错误已在OpenCV版本2.4.6中修复. 解决方法
我刚刚查看了OpenCV源代码,并在文件/modules/video/src/video_init.cpp中找到了有趣的初始化.这里是:
CV_INIT_ALGORITHM(BackgroundSubtractorMOG2,"BackgroundSubtractor.MOG2",obj.info()->addParam(obj,"history",obj.history); obj.info()->addParam(obj,"nmixtures",obj.nmixtures); obj.info()->addParam(obj,"varThreshold",obj.varThreshold); obj.info()->addParam(obj,"detectShadows",obj.bShadowDetection)); 似乎可以使用方法集仅设置这四个参数. 还要看一下文件modules / video / src / bgfg_gaussmix2.cpp,它有一个BackgroundSubtractorMOG2类.它有以下字段: float fVarInit; float fVarMax; float fVarMin; //initial standard deviation for the newly generated components. //It will will influence the speed of adaptation. A good guess should be made. //A simple way is to estimate the typical standard deviation from the images. //I used here 10 as a reasonable value 并且值fVarMin(您想要更改)设置为: fVarMin = defaultVarMin2 在两个构造函数中.以下是所有这些: static const float defaultVarInit2 = 15.0f; // initial variance for new components static const float defaultVarMax2 = 5*defaultVarInit2; static const float defaultVarMin2 = 4.0f; 有趣的是,这个值没有在任何其他文件中使用,所以现在似乎无法改变它.您可以将此问题直接发布到OpenCV bugtracker. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |