使用OpenCV从视频中提取图像模式的一些逻辑

时间:2013-01-10 02:54:06

标签: c++ opencv

enter image description here我熟悉openCV,这是一个功能强大的开源库,并使用我正在处理农场工业项目,其中鼠标将被注射药物,并且它被保留在所谓的被包围的阶段由带有连续白色和黑色涂漆条的圆柱体。因此,我需要找出鼠标旋转头部的次数,以表示圆柱体的旋转。 (因为它已经挂了毒品)。我怎样才能实现这一点,任何opencv专家都可以帮助我。

我在

下面添加了一张图片

1 个答案:

答案 0 :(得分:1)

似乎是一个有趣的,这些是我的初步建议......

  1. 取决于相机的分辨率以及物体(鼠标)距离相机的距离... coz鼠标是一个小物体,因此鼠标图像需要覆盖图像中的大量像素以区分头部运动...
  2. 我认为鼠标不会粘在一个位置......它会继续在笼子里移动......所以你需要跟踪鼠标......
  3. 在鼠标的每个位置,您需要找到头部相对于身体的位置....您可以使用模板匹配(创建鼠标头部模板)

    因此,需要更多信息和一些样本图片才能清楚地了解场景

  4. 图片上传后编辑

    1. 因为相机是固定的,因此会创建一个感兴趣的圆形区域...这样只有在这个圆圈内的移动才会关注你而不是圆圈外的移动圆柱体 like this

    2. 从前一帧中减去当前帧(帧差异)并将差异的绝对值存储在图像中。

      absdiff(frameNow,framePrevs,diffofFrames);

      将diffofFrames阈值化为获取当前鼠标位置所需的...

    3. 现在,如果图像清晰地显示其鼻子,任务会更容易......因为鼻子有一个尖的形状,可以通过一些模板匹配来检测......但是从图像中你已经给它很难了在黑色背景下弄出鼻子...但是我只能建议你进行以下过程... shown here绿色圆圈表示鼻尖......我所要做的就是获得方向头脑身体....为了获得好的结果,你需要有良好的形象......