资源简介
本程序是基于opencv2.4.3和VS2010的,使用帧间差分法进行运动目标的检测,使用摄像头摄取视频图像,或读取指定路径下的视频。效果不错。

代码片段和文件信息
//#include
#include
#include
#include
//#include “MultiWindows_Display.h“
#include
using namespace cv;
using namespace std;
int main()
{
VideoCapture cap(0); //打开摄像头
if (!cap.isOpened())
return -1;
unsigned int nframe_num = 0; //计数帧数
//VideoCapture cap(“F:/videos/bike.avi“); //打开视频文件
/*if(!cap.isOpened())
cout<<“fail to open!“< //提取视频的性质
//long total_frame_num = cap.get(CV_CAP_PROP_frame_COUNT); //提取视频的总帧数
double rate = cap.get(CV_CAP_PROP_FPS); //提取视频的帧率
double width_pic = cap.get(CV_CAP_PROP_frame_WIDTH); //视频的宽度
double height_pic = cap.get(CV_CAP_PROP_frame_HEIGHT); //视频的高度
Size frameSize(static_cast(width_pic) static_cast(height_pic)); //强制转换为整型
BackgroundSubtractorMOG BackG_Sub;
namedWindow(“ori_img“);
namedWindow(“foreground“);
bool stop(false);
int delay = 1000/30; //两帧之间的延时
//输出视频
VideoWriter output_src(“output_video.avi“CV_FOURCC(‘M‘‘P‘‘E‘‘G‘)20frameSize0);
while(!stop)
{
nframe_num++;
cout<<“当前处理帧为:“<ame_num<
Mat framegray_framebackGroundMaskforeGroundMaskforeground;
cap>>frame;
if (frame.empty())
break;
cvtColor(framegray_frameCV_RGB2GRAY0);
//更新背景图片
BackG_Sub(gray_frameforeground0.03);
threshold(foregroundforeground128255CV_THRESH_BINARY);
imshow(“ori_img“frame); //原始视频
imshow(“foreground“foreground);
output_src.write(foreground); //保存
if (waitKey(delay) >= 0)
{
stop = true;
}
}
cap.release();
waitKey(0);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1747 2014-09-17 20:02 BG_dif\BG_dif\backG_dif.cpp
文件 4058 2014-09-17 16:24 BG_dif\BG_dif\BG_dif.vcxproj
文件 1184 2014-09-17 16:24 BG_dif\BG_dif\BG_dif.vcxproj.filters
文件 143 2014-09-16 22:13 BG_dif\BG_dif\BG_dif.vcxproj.user
文件 130986 2014-09-17 20:02 BG_dif\BG_dif\Debug\backG_dif.obj
文件 406 2014-09-16 22:27 BG_dif\BG_dif\Debug\BG_dif.exe.em
文件 472 2014-09-16 22:27 BG_dif\BG_dif\Debug\BG_dif.exe.em
文件 381 2014-09-17 20:02 BG_dif\BG_dif\Debug\BG_dif.exe.intermediate.manifest
文件 86 2014-09-17 20:02 BG_dif\BG_dif\Debug\BG_dif.lastbuildstate
文件 2588 2014-09-17 20:02 BG_dif\BG_dif\Debug\BG_dif.log
文件 202 2014-09-16 22:27 BG_dif\BG_dif\Debug\BG_dif_manifest.rc
文件 1486 2014-09-17 20:02 BG_dif\BG_dif\Debug\cl.command.1.tlog
文件 37776 2014-09-17 20:02 BG_dif\BG_dif\Debug\CL.read.1.tlog
文件 1358 2014-09-17 20:02 BG_dif\BG_dif\Debug\CL.write.1.tlog
文件 2 2014-09-17 20:02 BG_dif\BG_dif\Debug\li
文件 2 2014-09-17 20:02 BG_dif\BG_dif\Debug\li
文件 2 2014-09-17 20:02 BG_dif\BG_dif\Debug\li
文件 2 2014-09-17 20:02 BG_dif\BG_dif\Debug\li
文件 2 2014-09-17 20:02 BG_dif\BG_dif\Debug\li
文件 2 2014-09-17 20:02 BG_dif\BG_dif\Debug\li
文件 2 2014-09-17 20:02 BG_dif\BG_dif\Debug\li
文件 2 2014-09-17 20:02 BG_dif\BG_dif\Debug\li
文件 2 2014-09-17 20:02 BG_dif\BG_dif\Debug\li
文件 2 2014-09-17 20:02 BG_dif\BG_dif\Debug\li
文件 2 2014-09-17 20:02 BG_dif\BG_dif\Debug\li
文件 2 2014-09-17 20:02 BG_dif\BG_dif\Debug\li
文件 2 2014-09-17 20:02 BG_dif\BG_dif\Debug\li
文件 2 2014-09-17 20:02 BG_dif\BG_dif\Debug\li
文件 2 2014-09-17 20:02 BG_dif\BG_dif\Debug\li
文件 2 2014-09-17 20:02 BG_dif\BG_dif\Debug\li
............此处省略65个文件信息
- 上一篇:聚类分析、机器学习及数据挖掘中常用数据集
- 下一篇:国际学术会议poster模板
相关资源
- 背景差分法 多目标跟踪
- 基于OpenCV的数字识别468815
- 使用opencv去掉二值化图像中黑色面积
- opencv环境配置
- win10 64位下编译的opencv4.5.5库,opencv
- NVIDIAOpticalFlowSDK-79c6cee80a2df9a196f20afd6
- opencv_contrib-3.4.0.zip
- opencv2.4.9源码分析——SIFT
- 用两个摄像头实现,双目标定,双目
- opencv_traincascade训练分类器,手势识别
- opencv3.0交叉编译用parallel.cpp
- 基于opencv的图像识别识别图像中的色
- 背景差分法检测
- 基于openCV的识别特定颜色区域
- 基于OpenCV的分水岭算法实现
- QT+opencv+OCR 身份证号码,银行卡号识别
- opencv视频特定颜色区域识别
- 把RGB转换为HSV和HSI然后根据黄色和蓝
- opencv视觉测距
- 基于Qt和opencv的身份证号码识别系统
- opencv_ffmpeg249.dll
- SfM稀疏三维点云重建--完整工程文件
- 基于opencv的数人头程序源代码
- 利用OpenCV中的Stitcher类实现全景图像拼
- opencv实现的sift算法源码,包含了图像
- openCV 上的小波变换
- 基于OPENCV的车牌识别系统设计
- 617张国内车牌60-17bmp图片用于OpenCV正样
- hog特征提取,c版本代码
- 基于Qt5.8+OpenCV3.2的Basler多相机触发开
评论
共有 条评论