数字图像处理的研究方法

转自:http://blog.csdn.net/droidpioneer/article/details/6645776

数字图像处理是近年来电子、通讯和计算机等领域的热门研究领域,其在科研、经济、军事、娱乐等等国计民生的各个领域都具有非常广阔的应用前景。数字图像处理处是一门交叉学科,涉及数学、计算机、电子、通讯、物理等等众多的基础和应用学科。数字图像处理的研究范围也非常宽泛,包括图像增强、图像复原、数学形态学、图像分析、图像编解码、模式识别、视频图像处理等等众多分支领域。

本文基于个人经验,对数字图像处理的研究方法作简要的介绍,希望对刚开始或者准备从事数字图像处理研究的朋友有所启迪和帮助。

首先,从事数字图像处理需要具备什么样的基础知识?如前所述,数字图像处理是一门交叉学科,涉及多方面的学科,但有两方面是最根本、最直接和最重要的:数学和计算机。数学是所有自然科学的基础,是皇冠,这在数字图像处理方面也显得非常贴切。无论是图像处理的哪个领域,在核心的算法部分,本质上都是数学,更何况很多算法的相关研究论文都是采用简洁的数学语言来描述的,线性代数、微积分、概率论用的非常多。一般来说,如果你认真学习过高等数学,这些基础都是具备的,不会有什么问题。那么在计算机方面,你至少应该熟练掌握一门编程语言,因为数字图像处理研究很多时候其实就是通过计算机编程去实现、分析、验证相关算法的,如果不能熟练的编程,那么图像处理的研究基本上很难为继的。一般来说你需要掌握Matlab平台的编程,同时你也应该掌握C++编程技术。Matlab是科研仿真的重要平台,其图像工具箱提供了很多的基本函数,可以显著提高科研效率,适合作算法的原理验证,但其计算速度很慢,也不适宜开发实际的图像处理系统。采用C++进行图像处理编程可以开发高效的程序,这在很多时候强调算法实时性能的条件下是非常必要的,此外C++是目前开发实用软件的最普遍采用的计算机语言之一,对于要开发实际图像处理软件时C++语言是首选。

好了,假设你具备了上述的数学基础和计算机语言基础,下一步你应该系统的学习下数字图像处理的基本知识,其实就是应该找一本系统的数字图像处理的翔实的教科书,进行完整、系统的学习,从全局上大致把握数字图像处理的各个研究分支的基本理论。目前全世界公认的最著名的教科书当数冈萨雷斯绿皮的那本《数字图像处理》,中英文版的都有,非常值得数字图像处理的初学者作为入门的经典来拜读。

好了,下面该到开始动手编程的时候了。数字图像处理的分支领域众多,不管你将选择从事那个方向的研究,一般来说,在图像编程的基本技能上,都差别不大的。这里提一条基本的标准,那就是你必须能够通过编程熟练的对一副图像的任意坐标位置的像素进行随心所欲的修改。也就是说,你必须达到对图像进行精确到像素级别的控制能力。只有这样,对图像的算法研究才可能从此谈起。其实这一步并不复杂,只要你能从图像里读出像素到一个缓冲区,能够明确任意指定坐标的像素的数据在缓冲区得什么位置,这一步基本就达到了。在此基础上,你可以尝试修改缓冲区里的值,所谓图像复原、图像滤波、图像复原、图像分析等等,区别就在于你通过什么样的算法怎么去修改这个缓冲区得数值了。很多时候,其实数字图像处理本质就是跟缓冲区里的数值打交道,就是对一个比较大的二维数组的数值作修改而已。到这个阶段,基础知识、基本技能、基本研究本领都具备了,我们可以说,你开始登堂入室,可以真正开始干自己的正事了。

那么下一步,就是要确立你感兴趣的研究方向。数字图像处理范围太广,你具备了基本的理论视野之后,你必须从一个点开始入手。不同的人在方向的选择上是不同的,有可能你有你的兴趣方向,或者导师给你指定了,或者你有项目需求的明确界定,这个都引人而异。当然,你有可能这些都不是,你比较茫然,不知、不明确究竟自己应该从哪里下手。如果是这样,你应该仔细体会接下来的下面一段。

不管你是否明确了研究方向,或者你根本还一片茫然,你都到了阅读期刊论文的关键阶段,因为只有这样你才能够明确相关领域的最新研究达到了什么阶段,你的切入点应该在哪里。对于方向很明确的人来说,你可以把阅读文献的范围锁定到自己关心的领域;对于还很茫然的人来说,你可以扩大范围,各个领域的都选取代表性的新文献泛读,通过比较最终锁定你的方向。对于阅读文献,第一步你应该阅读相关方向最新的综述文献,这样你能快速的把握自己方向最新的最全面的进展,在阅读完后最好自己花一周以上的时间搜集资料自己写一篇综述论文。相信经过这个阶段,你会感觉自己站在了学术的最前沿,并开始感觉有自己的思考。

好了,你的阶段在继续升华。现在到了你精读文献的阶段。在自己的研究方向内,你应该精读国内外知名期刊的最新和经典文献10~~20篇以上,然后选一两篇来编程实现,通过这个过程,你将通过自己的编程达到文献达到的程度,也就是说,如果不考虑原创性,你至少在选取文献论述的范围内,达到论文的技术高度。之所以一定要编程实现或复现原文的已有算法,好处还在于你将积累算法相关的可复用的子程序,更加有意义的是,如果你后续要写自己的论文,你可以把这个阶段的程序的运行结果作为与自己论文进行试验对比的对象。现在要写论文,没有什么结果对比,一般来说是很难被期刊编辑认可的。

现在到了令你兴奋的阶段,不错,就是自我创新的阶段。什么时候开始出现有创新的灵感出现,根据个人经验,你在上一步通过编程来复制他人成果的过程中,如果你坚持,在这个过程中灵感会出现。或许你发现了原文算法的问题和不足之处,你有了自己的改进思路和方法,或者你在这个过程中有自己全新的想法,等等,都是可能的。这里需要指出,如果撰写和发表论文是你很重要的目的之一,你在打算通过改进他人文献成果来写自己的论文之前,请一定要留意该文献所在期刊的档次。如果你准备发表到《电子学报》、《计算机学报》、《自动化学报》、《计算机图形图像学报》这样的国家一级学报,你准备改进的文献出处最好是IEEE这个级别的论文;如果你打算发表到一般的核心期刊,那么你改进的文献最好是上述的国家一级学报。道理很简单,如果你拿一本垃圾期刊的文章来改进,然后投稿准备发表到《电子学报》这样的期刊上,那编辑会什么感想?

好了,上面这个阶段如果再要上一个台阶,我想就应该是你开始独树一帜,建立自己的独创性的研究领域了,如果你有如此的雄心、魄力和潜力的话。这个阶段是必定有人存在的,不然数字图像处理界就没有未来,不是吗。本人没有达到这个阶段,所以,就不多说了,这方面是没有发言权的。

上面描述的数字图像处理研究的阶段主要侧重于初学者在学术上演进、上升的流程,事实上还有很多朋友主要感兴趣的或者主要面临的任务是在开发数字图像处理软件上。对于这种情况,当达到上述的基础知识、基本技能、基本研究本领都具备、开始登堂入室,可以真正开始干自己的正事的阶段后,在论文研究方面的着力点可以作相应的调整,转而以软件开发为主,而不对创新有特别的要求。这种情况一半来说对软件开发的要求要高得到,你得考虑怎么去做需求分析、怎么去做详细设计和编码、测试,总之,这时的要求是按照对应用软件的标准来的。最后指出,个人认为,如果你准备从事数字图像领域的开发工作,对数字图像处理的学术水平将在很大程度上决定你能胜任的高度。打个比方,建筑工人或许很强壮很能干,能够按照设计图纸盖很高的大楼,但是不管怎样,建筑工人绝对达不到设计高楼的建筑师的高度。

posted on 2012-04-08 09:03  Rick_w  阅读(1047)  评论(1编辑  收藏  举报

导航