java语言算法描述_数字图像处理:Java语言算法描述

前言

本书对数字图像处理进行了较新的完整介绍。本书不仅适用于那些希望得到坚实基础的初学者,而且考虑到了那些希望了解重要技术的关键分析和现代应用的从业人员。这是原德文版本的第一个英文版本,该书已经被以下人员广泛使用。

·以图像处理为工具的科学家和工程师,并且希望能深入理解,以便在自己的领域中对图像问题形成自己的解决方案。

·需要自学该课程的信息技术(IT)专家,这些课程要包含能够简单地进行改编的代码和已经实现的例子,以便使他们能够立刻上手。

·需要包含丰富实例的介绍性教科书的所有从业人员和学生,教科书要适合本科高年级学生或者研究生,并且包含丰富的、经过教学实际检验的练习、项目和实例。

虽然我们专注于实际应用和具体实现,但是我们并没有忽略重要的细节和数学理论,因为这些对算法更深——层的理解是必须的。

在着手写这本教科书的时候,我们有着这样一种考虑:简单的一本图像解决方案的书不足以给读者提供更深层次的理解,不能使读者将这些技术应用到新的问题当中去。为此我们从以下三个方面逐步展开:数学表达式的形式、简要的伪代码算法和完整的Java程序。我们再用一个统一的记号将这三个方面联系在一起——这样,我们就针对这个问题及其解决方案给出了多个角度的考虑,并且它们之间又是互相关联的。

预备知识

我们没有将数字图像处理当作一门数学学科,也没有严格地按照信号处理的形式来介绍,而是从一个从业者和编程人员的角度出发,将其他教科书普遍应用的形式替换为读者更容易理解的构成方式。为了更好地使用本书的程序部分,读者需要具备一些基本的数据结构和面向对象编程的知识,最好是Java。我们选择J9va出于很多方面的考虑,其中之一是:Java是很多学生在于科课程中学习的第一门编程语言。对于具有相关语言知识(比如C或者C++)的从业者来说,本书中的示例程序是很容易理解和扩·展的。

本书中的软件是基于ImageJ进行设计的。ImageJ是一个广泛应用的、可扩展编程的图像软件系统,由德国国家卫生总局(NIH)”的维恩·拉斯本德进行开发、维护和发布。ImageJ完全用Java语言来实现,因此它可以在所有的主流平台上运行。它被广泛应用的另外一个原因是它基于插件的结构使得它能够很容易地进行扩展。我们对在ImageJ下运行的所有的示例都进行了专门的设计,以便能够简单地移植到其他的环境和程序语言中。

研究和开发中的应用

我们将本书特别设计为教科书,其中的练习和精心构造的示例补充了基本概念和技术的综合细节。作为从业者和开发者,我们知道,正确理解和应用经典技术所需的细节资料有时是非常难以找寻的,所以,我们精心提供了这些细节、多年收集到的实际应用的实例以及成功应用这些技术所必须的东西。这使得这本教材相对于研究和开发中的其他教材来说更加宝贵,但这并不意味着它是一本综合的、完全引用的科学研究教材。相反,我们仔细地审查了我们的引用,确保他们可以从容易进入的资源中得到。

由于篇幅的限制,对于层次化方法、小波和特征图像等,我们只是简要地讨论了其基础,有些甚至完全省略。对于其他的一些内容,我们则是有意省略,包括一些高难度的话题,比如目标识别、图像理解和三维计算机视觉等。所以,虽然可以说该书叶,描述的多数技术可以被称为“聋哑的”,但是我们的经验是这样的:这些较简单方法的直接的、技术上规则的实现对于一些特定领域、甚至“智能”方法的成功实现都是十分重要的。

如果你只是在寻找ImageJ或者Java的编程手册,那么肯定有更好的资源。虽然这本书中包含了很多ImageJ的参考和很多代码实例,但是编程本身并不是我们的重点,编程只是在用精确而直接的可测试方法描述一项技术的过程中的重要一步。

为什么写这本书

无论是称为信号处理,还是图像处理,或者是多媒体计算,数字图像的操作多年来已经是多数计算机科学千程教程中不可或缺的一部分。今天,随着全数字化于作流的普及,它已经变成多种学科专业技术小不可或缺的一部分。在数字媒体激增之前,往往只是提供一门课程,在于程上称为“数字信号处理”,在计算机科学,下称为“数字图像处理”,而且还是一门选修课。

如今,这一课程已经被调整到了很多课程的前序阶段,成为了一门重要的基础课。这种迁移暴露了一个问题:许多作为研究牛级课程所依赖的教科书对于初学者来说是不合适的。对于初学者来说,这些教科书通常太拘泥于形式,同时,不能对实际应用中多数流行的算法提供详细的介绍。结果,教师们发现选择一本教材或者是推荐少而精的文献给学牛是一件十分困难的事情。我们也处在这样的两难境地,我们衷心希望这本书能够填补这一空缺。

接下来章节的内容可以分一学期或者连续的两学期来学习。为了让它比较灵活,我们增加了附加材料,以使每一章尽可能独立,也使教师在设计课程的过程中有更大的灵活性。第13~15章对图像处理中使用的频谱技术基础进行了详细的介绍,并且和本书中其他材料是独立的。根据教师和课程的要求,可以将这些内容根据具体要求包含进来,也可以完全不讲。

下面的计划图提供了用于一学期或者两个学期的课程建议。

一学期:一学期的课程可以围绕以下两个主题中的任意一个来展开:图像处理和图像分析。任意一个主题都可以很容易地融人之前学习的现代计算机科学或者IT课程中,图像分析更是医学信息学非常重要的基础课程。

两学期:如果该课程可以上两个学期,按照这里的设计,可以将内容按照难度(如下表所述)分成前后连贯的两部分(基础和高级)。

.  英文版的补充

本书是从德文第2版(2000年版)[17]翻译过来的,全书包含了很多优化处理。除了一些小的错误和改进外,我们对第5章中直方图匹配的表示、第11章小基于矩的集合区域特征、第10章中的形态学滤波器和第16章小的插值方法都进行了全面的修正。另外,重写了很多示例程序——比如,11.2.2节小的单程区域标汇和轮廓找寻算法,以提高其清晰性并且利用了Java 5中新的语言特点。

在线资源

读者可以从本书的网站:www.imagingbook.com上下载补充材料,包括示例的完整源代码、示例中用到的测试图像和更正。对于教师来说还有一些额外的材料,包括本书中使用的所有公式和图表,都集小放在了一起。欢迎发邮件到:imagingbook@gmail.com提出意见、问题或者更正。

致谢

没有家庭的理解和支持,这本书是不会问世的。感谢维恩·拉斯本德(NIH)开发的ImageJ及其对社区的突出支持,感谢(TU Graz的)Axel Pinz教授和(TU Prague的)Vaclav Hlavac教授的意见,感谢第1版、第2版的读者在这方面的宝贵投入,是你们的建议使我们不断提高,是你们的鼓励促使我们翻译这一版。作者由衷地感谢索尼和苹果笔记本,为了这部手稿,CPU大约运转了1.6千万亿(1015)次,耗电560度,产生了196千克二氧化碳。最后感谢Springer—Verlag、Ursula Zimpfer和Jutta Maria Fleschutz的专家,和他们带领的德文版小组成员,以及负责英文版的Wayne Wheeler、Catherine Brett和Jeffrcy Taub。

澳大利亚哈根堡/美国华盛顿

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值