Conclusion:Image Registration and Fusion with Matlab GUI

        最近花了两天的时间帮人理了一个程序,主要是利用matlab的GUI进行图像融合。主题相关:1、图像配准理论框架(包括特征空间、搜索空间、相似性度量、搜索策略);2、当然是matlab的GUI的使用(主要就是handles)。具体可以参考《图像配准技术及其MATLAB编程实现》作者:陈显毅。

        其中的图像配准主要是针对医学CT图像的和MR图像间的多模医学图像配准。利用的理论算法主要是高斯低通滤波,几何空间变换后的灰度插值技术——PV插值法,搜索——Powell算法和一维搜索算法。

另外就是matlab的GUI,其实个人感觉GUI和C++的MFC创建窗口差不多,就是实现一种界面化效果,而其中的核心当然就是handles,因为GUI中的对象(各种控件)就是利用handles来操作的。handles就像一个C语言中的结构体,而各个控件就是其中的成员,同样具有不同属性,可以在创建.fig文件时进行设置。直白地说:GUI就像一个仓库,仓库里面放着各种物件(控件:按钮、文本框……),handles就像一个搬运工。handles.text1就是命令搬运工去搬运或处理text1这个控件。关于handles的介绍可以在查看点击打开链接。



其实写这个文章的目的并不是介绍这个小项目,而是总结做过之后的一点感想。

一、理论基础很重要。这样才能在短时间内理解项目所用新算法的原理和已经积累过的算法,或者说明白基本的概念有助于算法移植的快速进行,而不必去重新了解一些学术语言。其实就是一个项目进展的速度;

二、掌握基本语言工具很重要。就像matlab GUI,如果我们平时很多变成算法在利用matlab语言编写实现后利用GUI重新实现一些,可能后续用到的时候真的能减少很多时间去摸索,同时语言的相同性让我们接触新的东西可以快速上手。

三、优化意识。把一个理论翻译成一个代码是比较容易的事情,但是如果它的运行时间是10000+秒,那这个程序最多只能用于学术研究,实际的产业价值就几乎为0了。当然,所谓优化,不止是代码优化,还需要理论的改进。理论的改进需要不断积累,代码的优化则需要不同语言、不同硬件平台的测试,同样需要不断学习和积累。

四、交流学习。资源越多,效率越高。

五、积累经验。经验能让我们开拓思维和少走弯路。

六、理论深入与扩宽。当然这是研究生应该做的,帮忙处理这个程序,知识单纯为了昨晚,对于其中涉及到的很多东西都没多加了解,虽然精力有限,但是如果时间允许,个人感觉应该注意在深度和广度上进行不断积累。



本文纯粹总结,欢迎批评指正。




你可能感兴趣的:(Conclusion:Image Registration and Fusion with Matlab GUI)