文件交换

图像缩略图“itemprop=

proesmans.

版本1.1.0.2(167 KB) Giampiero Campa
使用Proesmans方法的光学流量
4.5
2评级

1下载

更新2019年1月2日

查看许可证

使用Marc Proesmans设计的基于梯度的方法光学流量计算。
查看CPP文件的开头,了解有关如何编译和调用来自MATLAB的Proesmans函数的说明。

算法描述并在几篇期刊论文中使用,查看CPP文件以了解更多信息。

顺便提一下,这也适用于如何从Matlab调用C和CPP文件的一个很好的例子。

请注意,这主要通过Microsoft Visual C ++编译器进行测试,它不保证与其他编译器一起使用。

引用

Giampiero Campa(2020年)。proesmans.(//www.tatmou.com/matlabcentral/fileexchange/40576-proesmans),Matlab中央文件汇兑。检索到

Mammarella,M.,Campa,G.,Fravolini,M. L.和Napolitano,M. R.,使用6-DOF运动的光流算法与现实世界的刚性物体的6-DOF运动“;IEEE交易系统,人和网络通知 - 第C部分:2012年11月6日的第4卷,第42号,2012年11月6日的申请和评论

MCCANE,B.,NOWIS,K.,Crankitch,D.和Galvin,B。(2001)“关于基准光学流动”,计算机视觉和图像理解,84(1),126-143。

评论和评级(3.

谢谢Sebastien!我将尝试包含您提供的代码,但在我完成之前可能有一段时间。
我肯定会鼓励任何使用此文件来包含此代码的人并尝试!
再次感谢。
Giampiero.

非常快速的方法,我注意到了一些内存泄漏。您应该添加以下free_pic和free_float_space:

@@ -693,6 +693,9 @@ struct twin_flows compulate_flow(图片p1,图片p2,
double_flow(halff.reverse,prev.reverse);
free_flow(halff.forward);
free_flow(halff.reverse);
+
+ free_pic(半1);
+ free_pic(half2);
}

for(i = 1; i <= max_i; i ++){
@@ -720,6 +723,9 @@ struct twin_flows compulate_flow(图片p1,图片p2,
free_float_space(ey2);
free_flow(下一个forward);
free_flow(next.reverse);
+
+ free_float_space(et1);
+ free_float_space(et2);

返回(prev);
} // twin_flows.

Avi Nehemiah.

谢谢你的大量提交,享受努力梯度的方法。

在此链接可以找到其他一些光学流量方法和示例:“//www.tatmou.com/discovery/optical-flow.html.

更新

1.1.0.2.

包括几行代码,以在少数函数后正确清理,由Sebastien Martin建议。

1.1.0.1.

更新许可证

1.1.0.0.

添加了版权和固定的小字母

Matlab释放兼容性
使用R14SP1创建
兼容R14SP1至任何版本
平台兼容性
视窗 苹果系统 Linux.