opencv - 我们可以使用 Lucas Kanade 光流(opencv)进行基于颜色的检测或轮廓对象跟踪吗?

标签 opencv image-processing object-detection opticalflow

根据我的研究,LK光流可以通过三种方式实现。

cvgoodfeaturestotrack cvfindcorner子像素 calcOpticalFlowPyrLK

是否有可能使用颜色或使用轮廓来跟踪对象?

最佳答案

我对你问题的确切含义有点困惑。

以下是我可以从您的陈述中解释的答案:

问:cvgoodfeaturestotrack、cvfindcornerSubPix、calcOpticalFlowPyrLK 方法可以直接用在彩色图像上吗?

A:不行。先转成灰度。

++++++

问:Lucas Kanade 光流能否用于跟踪特定颜色?

答:不会。可能不会,使用 openCV 中现有的库函数/算法。应该是研究课题。通过http://robots.stanford.edu/cs223b04/algo_tracking.pdf

论文的第一行假设两个输入图像是 2D 和灰度图像。尝试浏览可用的文献,看看是否可以调整算法以包含颜色信息。您可能需要像这样查阅其他资源:http://www.dca.ufrn.br/~adelardo/artigos/SAC08.pdf

+++++++++++

问:光流可以用来追踪特定颜色吗?

答:是的。密集光流跟踪(与稀疏光流不同,即 LK 光流跟踪)。您可以使用 openCV 方法:calcOpticalFlowFarneback

++++++

还有其他更简单的方法,如果您想从头开始实现它并且稳健性不是您的主要关注点之一。

尝试为目标颜色对输入图像进行阈值处理 ----> 计算最大的 Blob ----> 获取该 Blob 的质心 ---> 检查该质心在连续帧中的流动情况。

关于opencv - 我们可以使用 Lucas Kanade 光流(opencv)进行基于颜色的检测或轮廓对象跟踪吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23422346/

相关文章:

c++ - 从 SVN 编译 Opencv

c - 如何在代码中使用白色

Python OpenCV 绘制线宽

tensorflow - 如何转换在 Edge TPU 板的自定义数据集上训练的模型?

c++ - 将视频帧数据移动到 GPU 的最有效方法是什么?

python - 具有OpenCV的阈值电阻器带

python - PIL - 将 GIF 帧转换为 JPG

php - 通过 PHP 将 JPEG 插入 mysql

tensorflow - 我应该包含 Tensorflow 对象检测 API 的负面示例吗?

python - 我在Open CV中使用TF对象检测API