【问题标题】:OpenCV camera following objectOpenCV 相机跟随对象
【发布时间】:2013-04-25 01:48:02
【问题描述】:

我最近开始使用openCVSharp,我用它来检测眼睛等物体并在它们周围画一个小盒子。

但是,我想控制我的相机,它能够水平旋转 180 度和垂直旋转 90 度,以实时检测和跟踪眼睛。所以,如果脸向左移动,相机就会向左转以跟随它,等等。

您知道 OpenCVSharp(C# 包装器)是否可以做到这一点吗?

让我们让它变得更简单:假设我想检测和跟踪头部(不是眼睛),所以让我们以头部的中心为目标,并尽量使其成为相机图片的中心.现在,我知道在 C# Winform 或 WPF 中,我可以布局位图并计算像素并手动调整相机移动,以使头部尽可能地成为中心,例如使用 PID 控制器或其他东西。

话虽如此,我是否可以在 OpenCVSharp 中使用来自摄像头的实时视频源做类似的事情?我只处理 C# Windform 和 WPF 中的静态图像,但没有像实时摄像头那样处理。

谢谢

【问题讨论】:

    标签: c# opencv computer-vision tracking opencvsharp


    【解决方案1】:

    我没有使用 OpenCVSharp 的经验,但是您尝试过 Emgu 吗?作为 OpenCV 的 C# 包装器,我有过非常积极的体验。我知道 Emgu 可以做到这一点。

    这是一个video 表明它是可能的。

    这是一个 tutorial 使用 Emgu 进行基本面部检测。

    【讨论】:

    • @ Kohanz 我可以在 openCVSharp 中进行人脸检测。但是,我想我的问题是我是否可以使用它来实时控制相机运动?我以前从未处理过实时视频,所以我不太确定如何去做。老实说,我认为这是可以做到的。只是需要你们有更多经验的人提供一些指导。
    • 这个问题对于 StackOverflow 来说太笼统了。您需要尝试解决方案,如果您在此过程中遇到特定问题,您可以来这里寻求帮助。 StackOverflow 不是提供教程的地方。似乎你明白需要做什么,在高层次上,你只需要尝试一下。
    • 我认为您必须编写自己的 PID 控制。
    【解决方案2】:

    您可以使用 KLT 特征跟踪器: https://www.youtube.com/watch?v=6B_PNDCWtz4

    或Camshift: https://www.youtube.com/watch?v=C-ivmaUHaP4

    它们都在 Accord.NET Extensions 框架中实现: https://github.com/dajuric/accord-net-extensions

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-08
      • 1970-01-01
      • 2017-07-13
      • 1970-01-01
      • 2017-08-28
      相关资源
      最近更新 更多