我想通过Lucas Kanade处理3D图像并以3D形式获取运动场。图片大小为[NI, NJ, NK, NT]
,其中NI
,NJ
,NK
是x
,y
和{{1}中的体素数量方向分别;并且z
表示时间步数。 NT
可以进行此类处理吗?如果没有,可以使用哪些其他工具来实现这一目标?
答案 0 :(得分:0)
OpenCV不针对过程3D图像数据,其中体积是密集体素网格(例如,MRI或CT扫描)。因此,OpenCV不提供其calcOpticalFlowPyrLK
函数的3D版本,或类似的。
我一直在寻找预先实现的3D光流。但是,我只找到MATLAB 7.12
和这个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