本书采用面向对象的方法介绍数字图像和图形处理的实用编程技术,共分两部分。第一部分以实用图像处理程序设计为主题,内容包括基本的图像空域处理方法、合成技术、几何变换技术、形态学操作、光栅操作、切换特技等。第一部分同时建立图像处理类层次体系结构。第二部分以标准的三维图形程序设计为主题,内容包括基元、次物体、几何拓扑、图形学变换、可见性测试、颜色缓冲、深度缓冲、光源、材质、光照明计算、着色等图形学基本技术。第二部分重点说明图形开发的基本过程。本书基于标准的图形技术开发路线,以类的形式重组了计算机图形学的基本知识。既能使读者从中体验图形开发的整个过程,也便于读者获取所需要的代码。本书作者多年来致力于计算机图形图像学的研究,本书特别适合于具有计算机图形学和数字图像处理基本知识的计算机软件开发人员和工程技术人员等阅读。前言我们生活在一个热衷于用图形和图像表达信息的时代。以图形开发和图像处理为基础的可视化技术通过大众媒体、计算机、网络等使人人都成为受益者。图形设计和图像处理技术迅猛地推动着传统行业的革新和新行业的萌芽,各个地区成千上万的人们,技术的和非技术的,都在从事与图形和图像相关的活动。现实的确是这样的。人人都为设计师或程序员所创作的美妙绝顶的画面激动不已。或许,我们正在尝试3DStudioMAX、MAYA、Painter、CorelDRAW、Photoshop。事实上,它们是表达定性设计或任务显示的首选工具。然而,作为程序员,大多数情况下我们所处理的是定量的数据。当想以“走捷径的方式”来完成特定的定量任务时,我们感到:这些“高级工具”无一例外地不能达到这样的技术层面:“任何时候我们正在做的就是我们所想要的”。我们转而求助于诸如OpenGL、Direct3D、Java3D等3DAPI。然而当我们去使用它们设计一个场景时,才会真正感觉到缺少什么。我们应该思索:图像处理和图形设计的底层技术是什么?我们可能选择以图像为主的技术开发之路,也可能选择一条以图形为主的技术开发之路。无论怎样,成功时的喜悦,无助时的沮丧将始终伴随着我们。当我们走得越远,一些技术性的难题就迎面而来。而且往往是解决得越多问题反而越多。比如,一方面,我们想尽办法提取出图像中的运动目标,获取了它们的特征数据;另一方面,却面临一个新的问题:如何重建其三维真实感图形。当用获取的数据绘制真实感图形时,大多数情况下所需要的信息是远远不够用的,这时就不得不求助于一些高级的图形绘制技术。图像和图形是密不可分的。图像处理与分析技术和图形绘制技术相结合,为一些重大问题的解决提供了广阔的思路。事实上,计算机视觉、模式识别、虚拟仿真等领域正卓有成效地实践着这条技术路线。本书将一切从零开始与读者一起进行图像和图形编程。我们将亲自建立所有的东西:建立一个图像处理类层次体系,建立自己的图形基元、光照计算系统和三维物体着色工具。本书基于标准的图形技术开发路线,以类的形式对计算机图形学的基本知识进行了组织。一方面,便于读者从中体验图形开发的整个过程;另一方面,也便于读者获取所需要的程序代码。比如,读者如需要图形变换程序,可直接从整个类体系中提取独立的CMatrix3D类。我们力求采用图像处理和图形设计的新方法和新思路,并准备将图像处理和图形设计结合起来。我们力求使每一个类都具有实用性、开放性和可移植性。的确,本书的工作仍然很有限。但是,实践即将开始。作者的水平是有限的。书中必然有错误,请读者一定指出。当完成本书的阅读后,读者也许会接受书中的全部或部分程序,也许会按自己的思路对其加以改进。无论如何,都是我们所鼓励和希望的。这正是本书的目的。作者的Eemail为xsm99@263.net,欢迎读者提出宝贵意见。参加本书编写工作的同志还有:上海交通大学的邓爱平、华中理工大学的杨克升、曾洪涛、武汉佳特设计资讯有限公司的曹淮、武汉鸿象信息技术公司的张玲、武汉适普公司的谢凌森、武汉天喻信息产业有限责任公司的王峰、西南交通大学的李开海、重庆大学的钟佑明、重庆邮电学院的潘显兵、重庆工学院的张朝辉等同志。在此作者再一次向他们表示深深的感谢。最后,作者还要诚挚地感谢电子工业出版社的领导和计算机图书事业部的编辑,他们为本书的出版付出了很多艰苦的劳动。