问题标签 [opticalflow]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
9091 浏览

python - Lucas Kanade python numpy 实现使用大量内存

作为大学项目,我正在使用 Lucas Kanade 方法编写光流脚本。虽然它运作良好,但有些事情我无法弄清楚。它在开始时使用几 MB 内存,但该数量每秒都在迅速增加。当它为 1 帧 480p 电影计算 OF 时,它使用了大约 1GB。当它达到 1.9GB 时,它会突然停止并停留在那里,即使离开了几个小时。

我尝试在另一台 PC 上运行脚本,它“仅”使用 1GB。

这真的很奇怪,因为根据我的计算,它应该使用少于 100MB 的空间。

最让我吃惊的是,脚本计算一帧后,我打印了垃圾收集器正在观看的对象数量,大约是 200 万,然后在强制收集后再次打印,结果完全一样。我等待计算第二帧(同时内存使用量增加了约 1GB),脚本打印了 GC 正在监视的对象数量 - 完全相同的数字接近 200 万。那么这是什么意思呢?那个 numpy 是用 C 语言编写的并且有内存泄漏?

我真的很想了解这种行为。

这是代码: http: //pastebin.com/WSi7akY4

0 投票
1 回答
2221 浏览

android - 从 MatOfKeyPoint 到 MatOfPoint2f 的 OpenCV4Android 转换

我正在尝试使用 OpenCV for Android (OpenCV 2.4.3) 我正在编写一个程序来跟踪关键点。我正在尝试使用 FeatureDetector 来检测关键点,然后使用 Video.calcOpticalFlowPyrLK 来跟踪它们。让我难过的问题是 FeatureDetector 函数返回一个 MatOfKeyPoint 而 calcOpticalFlowPyrLK 采用一个 MatOfPoint2f。

请注意,MatOfKeyPoint 与 MatOfPoint 不同(从 MatOfPoint 到 MatOfPont2f 的转换很简单)。

到目前为止,这是我的代码:

到目前为止我尝试过的事情没有成功:(1)keypoints.convertTo()(2)从关键点创建一个向量,然后尝试填充一个点向量点列表的向量。然后在调用流函数 (MatOfPoint2f) pointList (3) 尝试从头开始填充 MatOfPoint2f 时将类型转换为 MatOfPoint2f。无法弄清楚如何执行此操作 (4) 在 MatOfPoint2f 中使用 fromArray 方法 - 不确定此方法的作用。此方法的文档为空白。我错过了一些明显的东西吗?

0 投票
4 回答
2957 浏览

opencv - 实时光流

我正在使用光流作为视障人士的实时障碍物检测和避让系统。我正在用 c# 开发应用程序并使用 Emgu Cv 进行图像处理。我使用 Lucas 和 Kanade 方法,我对算法的速度非常满意。我使用的是单目视觉,因此很难准确计算每个被跟踪特征的深度并相应地提醒用户。我计划使用超声波传感器来帮助检测障碍物,因为单目相机很难计算深度。关于如何单独使用相机准确估计深度的任何建议?

0 投票
2 回答
5990 浏览

c++ - 如何让 cv::calcOpticalFlowSF 工作?

我使用的是 2.4.4 版本的 OpenCV。- 我知道它是一个测试版,但cv::calcOpticalFlowSF在示例文件夹中有一个关于该方法的示例:simpleflow_demo.cpp. 但是当我复制这个演示并将它与我的输入图像一起使用时,它开始处理并在几秒钟后返回一个崩溃报告。关于该方法的文档有点奇怪,说输出文件是 x- 和 yflow,而不是cv::Mat& flow该方法实际想要的。任何想法如何解决问题以使功能正常工作?

0 投票
2 回答
3895 浏览

c++ - OpenCV - Brox 光流 - opencv_core244d!cv::GlBuffer::unbind 中的异常

有没有人设法让 OpenCV 中的 Brox 密集光流算法工作?

这是一些代码:

如上所述,我遇到了一个异常,当我尝试使用该cv::gpu::BroxOpticalFlow对象时,我遇到了同样的问题,cv::gpu::PyrLKOpticalFlow但只有密集版本而不是稀疏版本,并且cv::gpu::FarnebackOpticalFlow工作正常......

奇怪的。

整个例外是:

我正在使用带有调试库的调试版本,使用 OpenCV 2.4.4,但是代码也在 OpenCV 2.4.3 中引发异常。

当我使用 OpenCV 2.4.3 时,我得到了这个异常:

0 投票
1 回答
2005 浏览

computer-vision - Horn-Schunck 光流计算

我正在研究用于计算视频中光流的 Horn-schunck 方法。我的代码是用 C 语言编写的,这意味着我要从头开始实现所有算法,包括对图像进行灰度缩放、计算导数等。我无法完全吸收该方法的精髓。我得到的最终流矩阵将包含每个像素的位移向量,对吧?对于每个像素,流矩阵中的值表示它在下一张图像中的位移量。

当我的所有像素值都在 0 到 255 之间时,这是如何工作的,我所有的计算都是在这些像素值上完成的,并且结果输出给出了一个 1920 X 1080 图像中的位移。

0 投票
1 回答
803 浏览

opencv - cvCalcOpticalFlowBM 错误

我一直在尝试在我的应用程序中使用 OpenCVs cvCalcOpticalFlowBM 进行光流计算。我正在做类似的事情:

beforeGray 和 afterGray 是相同大小的 IPL_DEPTH_8U 单通道图像。但是当最后一行执行时,我得到以下异常:

我正在使用 OpenCV 2.4,但我无法弄清楚为什么这不起作用。我通过调试器检查了所有输入参数都不为空。有人知道吗?

0 投票
2 回答
2970 浏览

opticalflow - 有没有光流代码的集合?

我目前正在搜索各种光流代码(主要是算法的实现),目的是将它们收集到一个列表中,以后可以以网站的形式发布。

以前有过这样的努力吗?如果是这样,它有没有到达任何地方?

0 投票
2 回答
5713 浏览

opencv - 基于光流的分割

您好我想根据光流分割视频序列中的对象(如this answer中所建议),我正在使用opencv并且已经能够使用calcOpticalFlowFarneback函数为两个连续的帧生成流场。有人能解释一下我将如何根据这个流场分割图像吗?

0 投票
1 回答
13344 浏览

c++ - OpenCV 的 calcOpticalFlowPyrLK 抛出异常

一段时间以来,我一直在尝试用 OpenCV 构建一个小的光流示例。除了函数调用 calcOpticalFlowPyrLK 之外,一切正常,它在控制台窗口中打印以下失败的断言:

OpenCV 错误:断言失败 (mytype == typ0 || (CV_MAT_CN(mytype) == CV_MAT_CV(type0) && ((1 << type0) & fixedDepthMask) != 0)) 在未知函数中,文件...... \src\opencv\modules\core\src\matrix.cpp,第 1421 行

我正在解析的视频分为 300 张图像,分别标记为“caml00000.jpeg”、“caml00001.jpeg”、...、“caml00299.jpeg”。这是我写的代码:

我读到的关于这个异常的唯一一件事是它是在 Mats 采用不同格式时引起的,但是我尝试读取静态图像(参见上面关于“kitty.jpg”的代码),我仍然得到相同的失败断言. 有任何想法吗?