gpt4 book ai didi

c++ - opencv(CalcOpticalFlowPyrLK) 参数中的光流类

转载 作者:搜寻专家 更新时间:2023-10-31 01:44:09 24 4
gpt4 key购买 nike

我对 CalcOpticalFlowPyrLK() 类中的两个参数有疑问。这是文档的链接:

http://docs.opencv.org/trunk/modules/video/doc/motion_analysis_and_object_tracking.html?highlight=calcopticalflowpyrlk#cv2.calcOpticalFlowPyrLK

第一个参数是“err”。在文档中,这被定义为它的功能的跟踪错误,但他们没有提供任何细节。错误在什么方面?

其次是参数“status”。他们将其定义为找到 (1) 或未找到 (0) 相应特征的状态。我有一些情况,特定功能的跟踪错误很低,并且该功能的状态为“未找到=0”。我也有相反的情况。

这两者之间有什么联系吗?我尝试检测眨眼。显然,当眼睛闭上时,我在眼睛角膜中的特征(闪烁)不存在。但对于这一帧,状态仍然为 1(已找到),但错误会爆炸。例如,我有第 t 帧,我尝试跟踪第 t+1 帧中的特征。在第 t 帧中,所有特征都在那里。在第 t+1 帧中,特征消失了(眨眼),但状态仍然是 1。

最佳答案

这两个值的联系是您首先必须检查状态数组。状态数组表示是否找到了特征点。此“检查”的优先级高于错误。文档说:“如果找不到流,则错误未定义”。但是无论如何都必须分配内存以保持索引对应关系。在 C++ 中,你必须初始化值,如果这没有发生,将会有一些随机值。所以我认为 OpenCV 不会用零或之前的东西填充数组。所以这就是为什么会发生错误非常小,但没有状态位的原因!

Here is some explenation how it Lucas-Kanada Method works.

当我在 OpenCV 中实现光流时,我发现了 this不错的链接。

还有书Mastering OpenCV with Practical Computer Vision Projects有一个有用的章节。

关于c++ - opencv(CalcOpticalFlowPyrLK) 参数中的光流类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23954874/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com