美文网首页
背景建模

背景建模

作者: crazydane | 来源:发表于2017-05-29 11:51 被阅读0次

想要获得一段视频中运动的区域,首先要得到它静态的区域,这个过程叫做背景建模,接下来将背景模型和当前的图像进行比较,减去这些已知的背景就可以得前景了。
opencv中有这样的函数,他能够很容易对任意直线上的像素进行采样。线采样函数时cvInitLineIterator()CV_NEXT_LINE_POINT()

int cvInitLineIterator(
  const CvArr* image, 
  CvPoint pt1,
  CvPoint pt2,
  CvLineIterator * line_iterator, 
  int connectivity = 8, 
  int left_to_right = 0);

该函数返回的是直线上迭代的点的个数。

  • CV_NEXT_LINE_POINT(CvLineIterator * line_iterator)使迭代器从一个像素到另一个像素。
Image1.png
Image2.png

也可以用下面的函数来对直线采样:

int cvSampleLine(
  const CvArr * image,
  CvPoint pt1,
  CvPoint pt2,
  void* buffer,
int connectivity = 8);

该函数是cvInitLineIterator() CV_NEXT_LINE_POINT()的封装帧差法获取背景可以用当前帧间去上一帧,这是最简单的办法。

cvAbsDiff(
          image1,
          image2,
          frameForeground
     );

我们可以设置一个阀值,低于该阀值的点设为0,大于该阀值的设为255

cvThreshold(
          src,
          dst,
          15,
          255,
          CV_THRESH_BINARY
     );

平均背景法基本思路 :计算每个像素的平均值和标准差(或相似的)作为背景它使用了四个函数:

  • cvAcc(),累计图像;
  • cvAbsDiff(),计算一定时间内的每帧图像之差;
  • cvInRange(),将图像分割成前景区域和背景区域(背景模型已经学习的情况下)
  • cvOr():将不同的彩色通道图像中合成一个掩模图像

相关文章

  • 背景建模

    想要获得一段视频中运动的区域,首先要得到它静态的区域,这个过程叫做背景建模,接下来将背景模型和当前的图像进行比较,...

  • openCV:背景建模

    帧间差分法背景建模 定义 由于场景中的目标在运动,目标的影像在不同图像帧中的位置不同。该类算法对时间上连续的两帧图...

  • 图像处理实战-背景建模

    背景建模技术可以从静止的背景中提取出移动的前景。背景建模的方法有很多,本文使用的是混合高斯模型。 **完整代码:h...

  • UISnapshotting(快照/截图)

    API: 效能: 比旧的renderinContext方法更优 DEMO 创建模糊背景

  • 设计原则

    1、需求背景、业务诉求2、业务建模、数据建模、边界处理、故障预防1、抽象业务名词,方便沟通理解2、处理各种边界异常...

  • 马智恒工业检测讲座笔记

    工业检测背景知识 打光lighting 采集 capture 图片处理 procssing 建模 model...

  • 非线性随机动力学 雷佑铭

    团队研究方向 行业建模是数学建模的升级提高 典型随机扰动下的非线性动力学 研究背景---海洋科技战略发展 科研发展...

  • 五十六、Elasticsearch数据建模--实现join关联查

    1、案例背景 博客网站,我们会模拟各种用户发表各种博客,然后针对用户和博客之间的关系进行数据建模,同时针对建模好的...

  • 威胁建模系统教程-简介和工具(一)

    背景 很多人对威胁建模这项活动抱有陌生感,什么是威胁?什么是建模?和安全威胁情报是不是有关?和架构安全分析(Ar...

  • Python实现简单的目标检测:基于均值的背景差分法

    原理   背景差分法的思想是用图像序列中的当前帧和背景参考模型比较来检测运动物体。其核心是背景的建模方法。这里实现...

网友评论

      本文标题:背景建模

      本文链接:https://www.haomeiwen.com/subject/fsmkfxtx.html