大家好,又见面了,我是你们的朋友全栈君。
毕设存档——APAP with moving dlt实现流程
- 介绍
- MATLAB环境配置
- mex -setup
- 执行自己的图像
- 多图拼接
介绍
1.APAP论文链接: https://cs.adelaide.edu.au/~tjchin/apap/. 可以下载到源码,就是速度慢点。
2.知乎关于图像拼接领域标志性算法的回答,非常优秀,链接: https://www.zhihu.com/question/34535199.
3.对APAP算法的一些解读, APAP算法详解和VS代码实现,链接: APAP算法详解和VS代码实现. 图像拼接之APAP算法代码详解,链接: 图像拼接之APAP算法代码详解.
4.以上的作者,包括后文提到的链接的作者,要在此感谢各位的分享。
MATLAB环境配置
因为mdlt用的是MATLAB mex的混合编程。里面还有MATLAB并行的一些知识。但是MATLAB2016之后的版本删除了该语句,为了不修改代码,重新安装2013a版本。 在软件管家上下载安装了MATLAB2013a,但是该安装包提供的license文件没有用了,会出现error8的提示,所以要更换license。在网上找了个license下载,折腾了半天终于装好了。 等毕设结束,把文件什么的打个包放过来。
mex -setup
这篇文章讲了如何运行APAP的mdlt。 链接: APAP with moving dlt中程序的运行. 当然,光安装了MATLAB,在命令行里输入mex -setup是不行的,大部分人都会遇到这个情况。
然后要继续解决问题。 这篇文章讲了如何配置C 运行环境。 链接: Matlab配置C /VS2015等编译环境(mex -setup 找不到编译器问题解决). 首先打开控制面板,检查自己是否安装了.NET 4 framework,如果没有或者安装的是高于4的版本,卸载,并在Microsoft官网找到.NET 4 framework的独立安装包,进行安装。
其次检查自己是不是没安装SDK7.1,这个也可以在Microsoft的官网直接下载到。 下载完SDK安装,问题又来了,安装不成功。
然后怎么解决呢? 这篇文章讲了解决方法。 链接: 安装Microsoft Windows SDK 7.1时出现的错误(附解决办法). 控制面板打开,卸载VisualC 2010 Redistributable就对了,我卸载完x86没用,又把x64也卸载了才解决问题。
安装SDK的时候,一定要选择安装C compilers.
一般情况下,按照这个步骤来,应该没问题。 如果还有问题,就循环上述步骤即可。 最后在MATLAB中输入mex -setup,能出来SDK选项即可。根据提示选择SDK,就可以开始运行mdlt了。 需要注意的是,mdlt刚开始运行可能会很慢,因为需要打开并行,要耐心等待。
执行自己的图像
mdlt源程序提供两组图片的结果。但我希望能够在这个程序下运行我自己的图片。所以,还要继续向前推进。
main.m程序里作者很贴心地给了提示。只需要注释掉if-else两段,再取消注释下面的一部分,修改自己的图像路径就可以了。
总的来说,APAP的算法是很优秀的,之前用全局单应性矩阵变换的时候,道路部分一直拼不上。改用局部单应性,效果已经很完美了。
多图拼接
此外,APAP的作者还开放了多图拼接BAMDLT的源码。不过多图拼接运行需要的环境更为复杂,不太好调试,暂时没有做。 一个适用于Ubuntu系统运行配置的博客看这篇。 链接: APAP多图拼接代码. Windows下的配置更复杂了,而且很容易出现问题。没找到完整的教程,按照Ubuntu的安装步骤,找到了这篇讲Ceres Solver 在Windows下安装配置的,链接: Ceres Solver 在Windows下安装配置笔记. 不过我还没有成功。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。