【问题标题】:emgu c# object tracking momentsemgu c# 对象跟踪时刻
【发布时间】:2014-02-03 15:14:18
【问题描述】:

我正在尝试制作一个对象跟踪器,我生成了跟踪对象的过滤图像并将其转换为白色,我用它来获取过滤图像

 CvInvoke.cvInRangeS(HSVimg, low, high, THImg);

现在我正在尝试获取轮廓并获取中心点,所以我使用了这个(还不能测试)

 using (Image<Gray, Byte> canny = smoothedRedMask.Canny(100.0, 50.0))
        using (MemStorage stor = new MemStorage())
        {
            Contour<Point> contours = canny.FindContours(
               Emgu.CV.CvEnum.CHAIN_APPROX_METHOD.CV_CHAIN_APPROX_SIMPLE,
               Emgu.CV.CvEnum.RETR_TYPE.CV_RETR_TREE,
               stor);

        }

所以我有两个问题 canny 方法是做什么的? 我如何在被跟踪对象周围绘制一个形状,然后使用矩或任何其他方法获取中心点? 您不必编写代码,只需给我参考可以使用的简单代码即可

【问题讨论】:

    标签: c# emgucv


    【解决方案1】:

    Canny 函数是一种边缘检测算法的实现,它使用多阶段算法来检测图像中的各种边缘。 请参阅此wikipedia articlethis tutorial/code 以更好地理解。

    问题的另一部分有点棘手,因为在被跟踪对象周围绘制形状将取决于应用精明边缘检测后接收到的图像质量以及对象的几何形状。

    因此,您可能需要调整 canny 函数的值以满足您的需要。

    但您可以参考这些 youtube 视频教程以更好地理解/编码您的对象跟踪逻辑。

    Video 1 Video 2

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-15
      • 1970-01-01
      • 2018-09-01
      • 2012-11-11
      • 2014-01-09
      • 2015-10-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多