资源简介
基于opencv的单高斯背景建模demo,直接运行即可,使用摄像头获取视频,VS2010直接使用

代码片段和文件信息
/*******************单高斯背景建模v1.0*************************
************************2010.01.22****************************/
#include
#include
#include
#include
#include
int main(int argc char **argv)
{
//新建窗口
cvNamedWindow(“origin“ CV_WINDOW_AUTOSIZE);
cvNamedWindow(“processing“ CV_WINDOW_AUTOSIZE);
double alpha = 0.05; //背景建模alpha值
double std_init = 20; //初始标准差
double var_init = std_init * std_init; //初始方差
double lamda = 2.5 * 1.2; //背景更新参数
//视频文件
CvCapture *capture = NULL;
//读取视频文件
if (argc == 1)
{
//从摄像头读入
capture = cvCreateCameraCapture(0);
}
else if (argc == 2)
{
//从文件读入
capture = cvCreateFileCapture(argv[1]);
}
else
{
//读入错误
printf(“input error\n“);
return -1;
}
IplImage *frame = NULL; //原始图像
IplImage *frame_u = NULL; //期望图像
IplImage *frame_var = NULL; //方差图像
IplImage *frame_std = NULL; //标准差
CvScalar pixel = {0}; //像素原始值
CvScalar pixel_u = {0}; //像素期望
CvScalar pixel_var = {0}; //像素方差
CvScalar pixel_std = {0}; //像素标准差
//初始化frame_u frame_var frame_std
frame = cvQueryframe(capture);
frame_u = cvCreateImage(cvSize(frame->width frame->height) IPL_DEPTH_8U 3);
frame_var = cvCreateImage(cvSize(frame->width frame->height) IPL_DEPTH_8U 3);
frame_std = cvCreateImage(cvSize(frame->width frame->height) IPL_DEPTH_8U 3);
for (int y = 0; y < frame->height; ++y)
{
for (int x = 0; x < frame->width; ++x)
{
pixel = cvGet2D(frame y x);
pixel_u.val[0] = pixel.val[0];
pixel_u.val[1] = pixel.val[1];
pixel_u.val[2] = pixel.val[2];
pixel_std.val[0] = std_init;
pixel_std.val[1] = std_init;
pixel_std.val[2] = std_init;
pixel_var.val[0] = var_init;
pixel_var.val[1] = var_init;
pixel_var.val[2] = var_init;
cvSet2D(frame_u y x pixel_u);
cvSet2D(frame_var y x pixel_var);
cvSet2D(frame_std y x pixel_std);
}
}
while (cvWaitKey(33) != 27) //按ESC键退出 帧率33ms
{
frame = cvQueryframe(capture);
//视频结束退出
if (!frame)
{
break;
}
double t = (double)cvGetTickCount();
//单高斯背景更新
for (int y = 0; y < frame->height; ++y)
{
for (int x = 0; x < frame->width; ++x)
{
pixel = cvGet2D(frame y x);
pixel_u = cvGet2D(frame_u y x);
pixel_std = cvGet2D(frame_std y x);
pixel_var = cvGet2D(frame_var y x);
//|I-u| < lamda*std 时认为是背景 进行更新
if (fabs(pixel.val[0] - pixel_u.val[0])
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5339 2012-08-05 15:59 dangaosi\dangaosi\dangaosi.cpp
文件 4234 2012-08-05 15:48 dangaosi\dangaosi\dangaosi.vcproj
文件 1407 2013-03-03 20:25 dangaosi\dangaosi\dangaosi.vcproj.PC-SU.Administrator.user
文件 12256 2012-08-10 08:42 dangaosi\dangaosi\Debug\BuildLog.htm
文件 663 2012-08-10 08:42 dangaosi\dangaosi\Debug\dangaosi.exe.em
文件 728 2012-08-10 08:42 dangaosi\dangaosi\Debug\dangaosi.exe.em
文件 621 2012-08-10 08:42 dangaosi\dangaosi\Debug\dangaosi.exe.intermediate.manifest
文件 65259 2012-08-10 08:42 dangaosi\dangaosi\Debug\dangaosi.obj
文件 67 2012-08-10 08:42 dangaosi\dangaosi\Debug\mt.dep
文件 568320 2012-08-10 08:42 dangaosi\dangaosi\Debug\vc90.idb
文件 520192 2012-08-10 08:42 dangaosi\dangaosi\Debug\vc90.pdb
文件 10693632 2013-03-03 20:25 dangaosi\dangaosi.ncb
文件 890 2012-08-05 15:47 dangaosi\dangaosi.sln
..A..H. 17408 2013-03-03 20:25 dangaosi\dangaosi.suo
文件 34816 2012-08-10 08:42 dangaosi\Debug\dangaosi.exe
文件 362300 2012-08-10 08:42 dangaosi\Debug\dangaosi.ilk
文件 887808 2012-08-10 08:42 dangaosi\Debug\dangaosi.pdb
目录 0 2012-08-10 08:42 dangaosi\dangaosi\Debug
目录 0 2012-08-05 15:59 dangaosi\dangaosi
目录 0 2012-08-10 08:42 dangaosi\Debug
目录 0 2013-03-03 20:25 dangaosi
----------- --------- ---------- ----- ----
13175940 21
- 上一篇:PCIE3.0 Spec完整版
- 下一篇:清爽的雨滴桌面
相关资源
- ado数据库MFC图书管理系统vs2010
-
解决安装vs2012后vs2010 li
nk : fatal er - AnkhSvn-2.6.12735 支持VS2010-VS2015 官方原版
- VS2010、VS2012、VS2013代码自动注释插件
- 插件式GIS应用框架的设计与实现&mda
- 通过x264录制RGB屏幕视频vs2013工程,
- G726、G711、G711A转换为AAC
- VS2010 运行时库
- vs2010 ffmpeg实时解码h264码流
- 个人银行账户管理系统
- CMake-3.9.0
- 基于FFMPEG_SDL2_音视频播放_参考音频时
- G-code-Interpreter,G代码解释器
- 三款主题VS2010
- VS2010黑色主题Dark主题
- Visual Assist X VA_X插件及破解工具,适用
- TabControl用法图解VS2010
- Midas to FLAC3D-vs2010
- 浴池管理系统
- ecc使用源代码——真正好用的vs2010编
- 基于SIFT算法的图像拼接.rar
- VisualStudio 2008-2017系统注释中文包,解
- vs2010 win7下编译的openssl-1.0.2n静态库
- iar 工程转成vs2010工程
- PCL点云库SACSegmentation用法demo
- 相机标定完整工程vs
- 核密度自适应阈值背景建模算法
- 混合高斯模型背景建模
- VS2010安装包中的vs_setup.msi文件
- VS2010使用Glog日志类例程
评论
共有 条评论