用于 3D Lucas Kanade 的 OpenCV?

标签 opencv 3d

我想处理 Lucas Kanade 的 3D 图像并获得 3D 运动场。图片的大小为[NI, NJ, NK, NT] 其中NI, NJ, NK 是数字xyz 方向的体素数; NT 表示时间步数。 OpenCV 可以进行这种类型的处理吗?如果不是,还有哪些其他工具可以用于此目的?

最佳答案

OpenCV 不针对处理 3D 图像数据,其中体积是密集的体素网格(例如 MRI 或 CT 扫描)。因此,OpenCV 不提供其 calcOpticalFlowPyrLK 函数或类似函数的 3D 版本。

我也在寻找预先实现的 3D 光流。但是,我只为 MATLAB 7.12

找到了这个实现

https://de.mathworks.com/matlabcentral/fileexchange/37170-lucas-kanade-optical-flow-method-for-3-d-images

和这个 iPython 笔记本:

https://github.com/jabooth/menpo-archive/blob/master/examples/ICCV%202013%203D%20Lucas-Kanade.ipynb

Insight ToolKit (ITK) 中有一个可变形的 3D 注册。它生成矢量场,指示两帧之间的估计运动。

https://itk.org/Doxygen/html/Examples_2RegistrationITKv3_2DeformableRegistration2_8cxx-example.html

自 2018 年编辑:在此期间,我自己实现了一个 3D Lucas-Kanade。它主要用于跟踪 3D-OCT 体积中的事物。你可以在这里找到我的代码:https://github.com/mlaves/imes4d

关于用于 3D Lucas Kanade 的 OpenCV?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26169887/

相关文章:

比较opencv中灰度图像的直方图

c++ - OpenCV cvNamedWindow 没有出现在 Fedora 下

c++ - 如何创建纹理坐标

python - Numpy 搜索和切片 3D 数组

c - MS3D 解析 : boneID == joint ID?

c++ - 使用 OpenGL 围绕枢轴点旋转

c++ - OpenCV cv::cvtColor 删除 alpha channel ,如何保留 alpha 数据?

c++ - C++结合从一张照片中裁剪的图像

python - 根据元组将值插入像素

c# - OpenCV:基本矩阵和 SolvePnPRansac 的投影矩阵完全不同