OpenCV混合高斯模型函数说明.doc

上传人:hs****ma 文档编号:559725279 上传时间:2023-05-10 格式:DOC 页数:10 大小:144.01KB
返回 下载 相关 举报
OpenCV混合高斯模型函数说明.doc_第1页
第1页 / 共10页
OpenCV混合高斯模型函数说明.doc_第2页
第2页 / 共10页
OpenCV混合高斯模型函数说明.doc_第3页
第3页 / 共10页
OpenCV混合高斯模型函数说明.doc_第4页
第4页 / 共10页
OpenCV混合高斯模型函数说明.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《OpenCV混合高斯模型函数说明.doc》由会员分享,可在线阅读,更多相关《OpenCV混合高斯模型函数说明.doc(10页珍藏版)》请在金锄头文库上搜索。

1、OpenCV混合高斯模型函数注释说明一、 cvaux.h#define CV_BGFG_MOG_MAX_NGAUSSIANS 500/高斯背景检测算法的默认参数设置#define CV_BGFG_MOG_BACKGROUND_THRESHOLD 0.7 /高斯分布权重之和阈值#define CV_BGFG_MOG_STD_THRESHOLD 2.5 /=2.5(99%)#define CV_BGFG_MOG_WINDOW_SIZE 200 /学习率=1/win_size#define CV_BGFG_MOG_NGAUSSIANS 5 /k=5个混合高斯模型#define CV_BGFG_MOG

2、_WEIGHT_INIT 0.05 /初始权重#define CV_BGFG_MOG_SIGMA_INIT 30 /初始标准差#define CV_BGFG_MOG_MINAREA 15.f /?#define CV_BGFG_MOG_NCOLORS 3 /颜色通道数/* CV_BG_STAT_MODEL_FIELDS()的宏定义*/ #define CV_BG_STAT_MODEL_FIELDS() int type; /type of BG model CvReleaseBGStatModel release; / CvUpdateBGStatModel update; IplImage*

3、 background; /*8UC3 reference background image*/ IplImage* foreground; /*8UC1 foreground image*/ IplImage* layers; /*8UC3 reference background image, can be null */ 8UC3参考背景图片,可以是空的 int layer_count; /* can be zero */ CvMemStorage* storage; /*storage for foreground_regions?/ 储存前景区域 CvSeq* foreground_

4、regions /*foreground object contours*/前景物体轮廓/*高斯背景模型参数结构体*/typedef struct CvGaussBGStatModelParams int win_size; /等于 1/alpha int n_gauss; /高斯模型的个数 double bg_threshold, std_threshold, minArea;/ bg_threshold:高斯分布权重之和阈值、std_threshold:2.5、minArea:? double weight_init, variance_init;/权重和方差CvGaussBGStatMo

5、delParams;/*高斯分布模型结构体*/typedef struct CvGaussBGValues int match_sum; double weight; double varianceCV_BGFG_MOG_NCOLORS; double meanCV_BGFG_MOG_NCOLORS;CvGaussBGValues;typedef struct CvGaussBGPoint CvGaussBGValues* g_values;CvGaussBGPoint;/*高斯背景模型结构体*/typedef struct CvGaussBGModel CV_BG_STAT_MODEL_FI

6、ELDS(); CvGaussBGStatModelParams params; CvGaussBGPoint* g_point; int countFrames;CvGaussBGModel;二、 cvbgfg_gaussmix.cpp/ cvCreateGaussianBGModel/功能:高斯背景模型变量bg_model初始化赋值CV_IMPL CvBGStatModel* cvCreateGaussianBGModel( IplImage* first_frame, CvGaussBGStatModelParams* parameters) CvGaussBGModel* bg_mod

7、el = 0;/高斯背景状态模型变量 CV_FUNCNAME( cvCreateGaussianBGModel ); _BEGIN_; double var_init; CvGaussBGStatModelParams params;/高斯背景状态模型参数变量 int i, j, k, n, m, p; /初始化参数,如果参数为空,则进行初始化赋值 if( parameters = NULL ) params.win_size = CV_BGFG_MOG_WINDOW_SIZE;/学习率=1/200=0.005 params.bg_threshold = CV_BGFG_MOG_BACKGRO

8、UND_THRESHOLD;/判断是否为背景点的阈值0.7 params.std_threshold = CV_BGFG_MOG_STD_THRESHOLD;/标准阈值2.5 params.weight_init = CV_BGFG_MOG_WEIGHT_INIT;/权重值0.05 params.variance_init = CV_BGFG_MOG_SIGMA_INIT*CV_BGFG_MOG_SIGMA_INIT; /方差30*30 params.minArea = CV_BGFG_MOG_MINAREA;/? params.n_gauss = CV_BGFG_MOG_NGAUSSIANS

9、;/高斯模型个数 else params = *parameters; if( !CV_IS_IMAGE(first_frame) )/如果第一帧不是图像,则报错 CV_ERROR( CV_StsBadArg, Invalid or NULL first_frame parameter ); CV_CALL( bg_model = (CvGaussBGModel*)cvAlloc( sizeof(*bg_model) );/申请内存空间 memset( bg_model, 0, sizeof(*bg_model) ); bg_model-type = CV_BG_MODEL_MOG;/ CV_

10、BG_MODEL_MOG高斯背景模型 bg_model-release = (CvReleaseBGStatModel)icvReleaseGaussianBGModel;/释放内存的函数指针 bg_model-update = (CvUpdateBGStatModel)icvUpdateGaussianBGModel;/更新高斯模型的函数指针 bg_model-params = params; /申请内存空间 CV_CALL( bg_model-g_point = (CvGaussBGPoint*)cvAlloc(sizeof(CvGaussBGPoint)* (first_frame-wi

11、dth*first_frame-height) + 256);/256? CV_CALL( bg_model-background = cvCreateImage(cvSize(first_frame-width, first_frame-height), IPL_DEPTH_8U, first_frame-nChannels); CV_CALL( bg_model-foreground = cvCreateImage(cvSize(first_frame-width, first_frame-height), IPL_DEPTH_8U, 1); CV_CALL( bg_model-storage = cvCreateMemStorage(); /初始化 var_init = 2 * params.std_threshold * params.std_threshold;/初始化方差 CV_CALL( bg_model-g_point0.g_values = (CvGaussBGValues*)cvAlloc( sizeof(CvGaussBGValues)*params.n_gauss* (fi

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号