【问题标题】:Opencv Motion detection with tracking带跟踪的 Opencv 运动检测
【发布时间】:2011-10-24 14:45:30
【问题描述】:

我需要在网络摄像头的视频帧中进行强大的运动检测和跟踪。背景总是一样的。目的是识别物体的位置,如果可能没有阴影,但不那么迫切需要去除阴影。我已经尝试过opencv算法进行背景减法和阈值处理,但这仅取决于一张图像作为背景,如果背景在亮度(或相机自动对焦)方面发生了一点变化,我需要该算法强大亮度或一些阴影的变化很小。

【问题讨论】:

    标签: opencv motion-detection object-detection background-subtraction


    【解决方案1】:

    Andrian 有一个很酷的教程http://www.pyimagesearch.com/2015/05/25/basic-motion-detection-and-tracking-with-python-and-opencv/

    我遵循并进行了很好的实验测试 https://youtu.be/HJBOOZVefXA

    我也使用静态图片

    frameDelta = cv2.absdiff(firstFrame, gray)
    thresh = cv2.threshold(frameDelta, 25, 255, cv2.THRESH_BINARY)[1]
    thresh = cv2.dilate(thresh, None, iterations=2)
    (cnts, _) = cv2.findContours(thresh.copy(), cv2.RETR_EXTERNAL,
    cv2.CHAIN_APPROX_SIMPLE)
    

    4 行代码很好地找到运动 祝你好运

    【讨论】:

      【解决方案2】:

      当您尝试在 OpenCV 中进行阈值处理时,您是使用 RGB(红色、绿色、蓝色)还是 HSV(色相、饱和度、值)颜色格式?从个人经验来看,我发现 HSV 编码在与 OpenCV 一起用于阈值处理和 cvBlobsLib 用于识别 blob 位置时,在跟踪视频片段中的彩色对象方面要优越得多。

      HSV 更容易,因为 HSV 的优点是只需使用单个数字来检测颜色(“色调”),尽管该颜色有多种阴影(从浅到深)的可能性非常大色调。 (颜色的量和颜色的亮度分别由“saturation”和“value”参数处理)。

      我使用对 cvInRange() OpenCV API 的调用对 HSV 参考图像 ('imgHSV') 进行阈值化以获得二进制(黑白)图像:

      cvInRangeS( imgHSV,  
                  cvScalar( 104, 178, 70  ),  
                  cvScalar( 130, 240, 124 ),  
                  imgThresh ); 
      

      在上面的示例中,两个 cvScalar 参数是 HSV 值的下限和上限,表示颜色为蓝色的色调。在我自己的实验中,我能够通过抓取我感兴趣的对象的屏幕截图来获得一些合适的最大/最小值,并观察发生的色调/饱和度/亮度值的种类。

      可以在blog posting 上找到带有代码示例的更详细说明。

      【讨论】:

        【解决方案3】:

        强大的跟踪方法是世界各地正在开发的广泛研究兴趣的一部分... 这里可能是解决您的问题的关键,这些问题非常有趣但广泛而开放。

        首先,其中很多假设亮度恒定(因此您的要求很难实现)。例如:

        • 卢卡斯·卡纳德
        • 喇叭-雄克
        • 块匹配

        广泛用于跟踪,但假设亮度恒定。

        然后其他有趣的可能是 meanshift 或 camshift 跟踪,但您需要一个投影来遵循...但是您可以使用根据特定阈值计算的反投影来满足您对稳健性的需求...

        我稍后会发布关于此的内容, 朱利安,

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2023-03-08
          • 2017-08-08
          • 2020-06-03
          • 1970-01-01
          • 2017-11-15
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多