A-A+

[Motion] 移动检测开源代码Motion学习 — 重要变量或结构

2017年12月06日 Motion, 关键技术 暂无评论 阅读 617 次

前言(废话)

在学习Motion源代码的时候发现有些结构体和变量使用还是很精妙的,为了加深理解,特开一文,作为记录,以便以后查找,内容全部来自官方文档翻译,如若不对,请留言指正。翻译水平渣渣,见谅,官方文档地址见文章最后连接

重要变量或结构

smart_mask_speed:

Smart mask will disable sensitivity in areas with frequent motion (like trees in the wind).

  • Type: Integer
  • Range / Valid values: 0 - 10
  • Default: 0 (disabled)

Speed for the smart mask(智能掩码的速度?)。默认是0-失能,设置为1时为慢,10为最快,它是动态的并且可以自我学习(self-learning mask)。SmartMask会取消快速移动区域的敏感度(例如:在风中狂摇的树),过一段如果这个区域不再快速移动,敏感度又会恢复。在边界部分的掩码会比正常移动时稍大,这样会使掩码更加可信。

速度快是指mask重建的速度快,反之,则是重建的速度慢。在最开始推荐设置为5。

mask_file

  • Type: String
  • Range / Valid values: Max 4095 characters
  • Default: Not defined

mask_file是一个pgm文件的路径,pgm指静态灰度图,必须是二进制编码。这个文件可以掩盖掉你不想要做移动检测的区域。将需要做移动检测的区域设置成白色,不需要做移动检测的区域设置成黑色,将需要调低敏感度的区域设置成你想要的灰度,正常情况下一般设置成纯黑色或者白色。

 

despeckle_filter

  • Type: String
  • Range / Valid values: EedDl
  • Default: Not defined

该变量的值是在配置文件中配置的,默认值是EedDl,配置的是去除杂点的方式,默认值是EedDl。去除杂点的方式采用的是图像的腐蚀(erode)和膨胀(dilate) 算法。E指用3x3矩阵做腐蚀运算,e指用X形状交叉的5个点做腐蚀运算,d指用X形状交叉的5个点做膨胀运算。l是在最后用作给区域做标记的【TODO】

传送门:图像的腐蚀(erode)和膨胀(dilate)算法简介

官方文档

http://htmlpreview.github.io/?https://github.com/Motion-Project/motion/blob/master/motion_guide.html#Important_Definitions

给我留言