本書采用面向對象的方法介紹數(shù)字圖像和圖形處理的實用編程技術,共分兩部分。第一部分以實用圖像處理程序設計為主題,內容包括基本的圖像空域處理方法、合成技術、幾何變換技術、形態(tài)學操作、光柵操作、切換特技等。第一部分同時建立圖像處理類層次體系結構。第二部分以標準的三維圖形程序設計為主題,內容包括基元、次物體、幾何拓撲、圖形學變換、可見性測試、顏色緩沖、深度緩沖、光源、材質、光照明計算、著色等圖形學基本技術。第二部分重點說明圖形開發(fā)的基本過程。本書基于標準的圖形技術開發(fā)路線,以類的形式重組了計算機圖形學的基本知識。既能使讀者從中體驗圖形開發(fā)的整個過程,也便于讀者獲取所需要的代碼。本書作者多年來致力于計算機圖形圖像學的研究,本書特別適合于具有計算機圖形學和數(shù)字圖像處理基本知識的計算機軟件開發(fā)人員和工程技術人員等閱讀。前言我們生活在一個熱衷于用圖形和圖像表達信息的時代。以圖形開發(fā)和圖像處理為基礎的可視化技術通過大眾媒體、計算機、網絡等使人人都成為受益者。圖形設計和圖像處理技術迅猛地推動著傳統(tǒng)行業(yè)的革新和新行業(yè)的萌芽,各個地區(qū)成千上萬的人們,技術的和非技術的,都在從事與圖形和圖像相關的活動?,F(xiàn)實的確是這樣的。人人都為設計師或程序員所創(chuàng)作的美妙絕頂?shù)漠嬅婕硬灰??;蛟S,我們正在嘗試3DStudioMAX、MAYA、Painter、CorelDRAW、Photoshop。事實上,它們是表達定性設計或任務顯示的首選工具。然而,作為程序員,大多數(shù)情況下我們所處理的是定量的數(shù)據(jù)。當想以“走捷徑的方式”來完成特定的定量任務時,我們感到:這些“高級工具”無一例外地不能達到這樣的技術層面:“任何時候我們正在做的就是我們所想要的”。我們轉而求助于諸如OpenGL、Direct3D、Java3D等3DAPI。然而當我們去使用它們設計一個場景時,才會真正感覺到缺少什么。我們應該思索:圖像處理和圖形設計的底層技術是什么?我們可能選擇以圖像為主的技術開發(fā)之路,也可能選擇一條以圖形為主的技術開發(fā)之路。無論怎樣,成功時的喜悅,無助時的沮喪將始終伴隨著我們。當我們走得越遠,一些技術性的難題就迎面而來。而且往往是解決得越多問題反而越多。比如,一方面,我們想盡辦法提取出圖像中的運動目標,獲取了它們的特征數(shù)據(jù);另一方面,卻面臨一個新的問題:如何重建其三維真實感圖形。當用獲取的數(shù)據(jù)繪制真實感圖形時,大多數(shù)情況下所需要的信息是遠遠不夠用的,這時就不得不求助于一些高級的圖形繪制技術。圖像和圖形是密不可分的。圖像處理與分析技術和圖形繪制技術相結合,為一些重大問題的解決提供了廣闊的思路。事實上,計算機視覺、模式識別、虛擬仿真等領域正卓有成效地實踐著這條技術路線。本書將一切從零開始與讀者一起進行圖像和圖形編程。我們將親自建立所有的東西:建立一個圖像處理類層次體系,建立自己的圖形基元、光照計算系統(tǒng)和三維物體著色工具。本書基于標準的圖形技術開發(fā)路線,以類的形式對計算機圖形學的基本知識進行了組織。一方面,便于讀者從中體驗圖形開發(fā)的整個過程;另一方面,也便于讀者獲取所需要的程序代碼。比如,讀者如需要圖形變換程序,可直接從整個類體系中提取獨立的CMatrix3D類。我們力求采用圖像處理和圖形設計的新方法和新思路,并準備將圖像處理和圖形設計結合起來。我們力求使每一個類都具有實用性、開放性和可移植性。的確,本書的工作仍然很有限。但是,實踐即將開始。作者的水平是有限的。書中必然有錯誤,請讀者一定指出。當完成本書的閱讀后,讀者也許會接受書中的全部或部分程序,也許會按自己的思路對其加以改進。無論如何,都是我們所鼓勵和希望的。這正是本書的目的。作者的Eemail為xsm99@263.net,歡迎讀者提出寶貴意見。參加本書編寫工作的同志還有:上海交通大學的鄧愛平、華中理工大學的楊克升、曾洪濤、武漢佳特設計資訊有限公司的曹淮、武漢鴻象信息技術公司的張玲、武漢適普公司的謝凌森、武漢天喻信息產業(yè)有限責任公司的王峰、西南交通大學的李開海、重慶大學的鐘佑明、重慶郵電學院的潘顯兵、重慶工學院的張朝輝等同志。在此作者再一次向他們表示深深的感謝。最后,作者還要誠摯地感謝電子工業(yè)出版社的領導和計算機圖書事業(yè)部的編輯,他們?yōu)楸緯某霭娓冻隽撕芏嗥D苦的勞動。