aihot  2017-05-06 12:56:38  OpenCV |   查看评论   
imgDif(x,y)<TOpenCV进阶之路:一个简化的视频摘要程序

然后我们只需遍历图像求出图像中所有白点的个数,即是运动前景的面积,计算一下面积比例即可以确定当前帧是否有物体移动。

当然我们得到的前景目标并不移动的物体的轮廓,而是与前一帧相比目标移动的部分。

OpenCV进阶之路:一个简化的视频摘要程序

下面为这一部分的OpenCV实现,相关的视频读取和写入的操作可以参考OpenCV成长之路中的相关文章。

 1 // 查找文件目录下的所有视频文件 
 2 vector<string> videoPathStr = FindAllFile((videoPath + videoSuffix).c_str(), true);   3 // 先读取一个视频文件,用于获取相关的参数 
 4 VideoCapture capture(videoPathStr[0]);   5 // 视频大小 
 6 Size videoSize(capture.get(CV_CAP_PROP_FRAME_WIDTH), capture.get(CV_CAP_PROP_FRAME_HEIGHT));   7 // 创建一个视频写入对象 
 8 VideoWriter writer("../result.avi", CV_FOURCC('M', 'J', 'P', 'G'), 25.0, videoSize);  9 
10 for (auto videoName : videoPathStr)  11 {  12 capture.open(videoName); // 读入路径下的视频
13 
14 Mat preFrame;  15 bool stop(false); 16 
17 double totleFrameNum = capture.get(CV_CAP_PROP_FRAME_COUNT); // 获取视频总帧数
18 
19            
          
 

除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自OpenCV进阶之路:一个简化的视频摘要程序

留言与评论(共有 0 条评论)
   
验证码:
[lianlun]1[/lianlun]