文/張雁騰 黃勇 朱昌洪 肖寧
數(shù)字圖像處理可視化教學(xué)軟件的設(shè)計(jì)
文/張雁騰 黃勇 朱昌洪 肖寧
數(shù)字圖像處理的理論性和實(shí)踐性很強(qiáng)、可視化程度高,利用可視化編程語(yǔ)言設(shè)計(jì)的交互界面對(duì)當(dāng)前編程現(xiàn)狀具有直觀性,本文根據(jù)圖像處理的特點(diǎn)利用VC++設(shè)計(jì)了一個(gè)可視化數(shù)字圖像處理系統(tǒng)。系統(tǒng)中涵蓋了數(shù)字圖像處理領(lǐng)域的基本算法,對(duì)相應(yīng)的算法進(jìn)行了實(shí)現(xiàn)。該系統(tǒng)能夠滿足圖像處理的基本要求,是實(shí)現(xiàn)數(shù)字圖像處理的良好實(shí)踐平臺(tái),可勝任教學(xué)演示的需求。
數(shù)字圖像處理 VC++ 可視化軟件
隨著信息技術(shù)的不斷發(fā)展,數(shù)字圖像處理課程日益成為一門引人注目、前景遠(yuǎn)大的學(xué)科,了解圖像處理的各種理論和實(shí)際應(yīng)用是最基本的要求。為了方便用戶觀察處理結(jié)果,更好的理解算法,我們利用可視化編程語(yǔ)言VC++的MFC功能針對(duì)數(shù)字圖像處理的內(nèi)容編寫GUI人機(jī)交互圖形用戶界面,該系統(tǒng)由窗口、選單、按鈕和文字說(shuō)明等構(gòu)成,簡(jiǎn)捷、直觀、清晰地體現(xiàn)出系統(tǒng)的功能和特征,同時(shí)更適合數(shù)字圖像處理課程實(shí)踐教學(xué)。
數(shù)字圖像在數(shù)學(xué)上是一個(gè)二維矩陣,因此數(shù)字圖像處理又可以描述為對(duì)一個(gè)二維矩陣施加一系列操作,以得到所期望的結(jié)果。通常情況下圖像處理主要有3個(gè)目的:
(1)提高圖像的可觀性,以獲得所期望的結(jié)果。
(2)對(duì)圖像數(shù)據(jù)進(jìn)行編碼和壓縮,以便于解決數(shù)據(jù)量與存儲(chǔ)和傳輸?shù)拿堋?/p>
(3)特征提取,以便于計(jì)算機(jī)進(jìn)行圖像分析。不管是何種目的,都需要計(jì)算機(jī)對(duì)圖像數(shù)據(jù)輸入、分析加工和輸出。
VC++的MFC圖形界面給用戶帶來(lái)了操作和控制的方便與靈活性,通過(guò)窗口、菜單、按鈕等方式進(jìn)行操作,可針對(duì)不同的處理目的靈活地對(duì)圖像處理算法進(jìn)行改進(jìn)。本文以BMP 文件的讀寫為切入點(diǎn)搭建一個(gè)數(shù)字圖像處理平臺(tái),實(shí)現(xiàn)圖像的讀取、處理、保存和顯示。整個(gè)系統(tǒng)主要由如下8個(gè)模塊及其子模塊組成,圖1為系統(tǒng)的總框架。
系統(tǒng)采用模塊化設(shè)計(jì),把圖像處理系統(tǒng)按照?qǐng)D像處理的內(nèi)容不同分為幾種模塊,在各個(gè)模塊下又包含子模塊操作。通過(guò)系統(tǒng)的文件選項(xiàng)將指定位圖文件的數(shù)據(jù)讀入到相應(yīng)的數(shù)據(jù)結(jié)構(gòu)中,以便進(jìn)一步處理。在處理完成后,如果需要對(duì)原圖像進(jìn)行其他處理,可以重新加載原圖選項(xiàng)另行處理,再將處理后的數(shù)據(jù)以位圖的格式加以保存,本文僅展示了若干個(gè)模塊的系統(tǒng)仿真演示圖。
與原色疊加可以變?yōu)榘咨念伾?,即用白色(RGB:255,255,255)減去原色的顏色,演示結(jié)果如圖2所示。
灰度圖是指只含亮度信息,不含色彩信息的圖像,灰度圖需要把亮度值進(jìn)行量化。通常劃分成0到255共256個(gè)級(jí)別,其中0最暗(全黑),255最亮(全白)。
圖像各種灰度值出現(xiàn)概率的統(tǒng)計(jì)圖,就是把給定圖像的直方圖分布改變成“均勻”分布直方圖分布。
圖像處理的基本運(yùn)算,通常應(yīng)用在調(diào)整圖像的畫面質(zhì)量方面,含有對(duì)比度變換和亮度變換操作。
對(duì)比度指的是一幅圖像中明暗區(qū)域最亮的白和最暗的黑之間不同亮度層級(jí)的測(cè)量,對(duì)比度是畫面黑與白的比值,對(duì)比度拉伸能夠?qū)崿F(xiàn)圖像對(duì)比度增強(qiáng),可以有選擇地拉伸某段灰度區(qū)間,以改善輸出圖像。
一種基于區(qū)域的圖像分割技術(shù),按照灰度級(jí)對(duì)像素集合進(jìn)行一個(gè)劃分,得到的每個(gè)子集形成一個(gè)與現(xiàn)實(shí)景物相對(duì)應(yīng)的區(qū)域,各個(gè)區(qū)域內(nèi)部具有一致的屬性,而相鄰區(qū)域布局有這種一致屬性。劃分可通過(guò)從灰度級(jí)出發(fā)選取一個(gè)或多個(gè)閾值來(lái)實(shí)現(xiàn)。
通過(guò)對(duì)變形的圖像進(jìn)行幾何校正得出準(zhǔn)確的圖像。該模塊包括了平移、旋轉(zhuǎn)和鏡像,鏡像含有水平和垂直鏡像。其中逆時(shí)針旋轉(zhuǎn)45°演示結(jié)果如圖3 所示。
圖像濾波,即在盡量保留圖像細(xì)節(jié)特征的條件下對(duì)目標(biāo)圖像的噪聲進(jìn)行抑制,這些噪聲在圖像上常表現(xiàn)為較強(qiáng)視覺(jué)效果的孤立象素點(diǎn)或象素塊。濾波器功能包含了中值濾波,低通平均值濾波,高斯差分濾波,Sobel邊緣提取和Robert邊緣提取,其中對(duì)圖像的中值濾波、Robert邊緣提取演示結(jié)果如圖4 所示。
圖1:數(shù)字圖像處理系統(tǒng)的總框架
圖2:反色模塊演示結(jié)果
圖3:圖像逆時(shí)針旋轉(zhuǎn)45°演示結(jié)果
圖4:中值濾波、Robert邊緣提取演示結(jié)果
隨著人類視覺(jué)研究的進(jìn)展,人們逐漸對(duì)圖像領(lǐng)域的認(rèn)識(shí)投入了很大的熱情,這一領(lǐng)域除了它的重大理論價(jià)值外,也極具實(shí)用價(jià)值。本文以 BMP 文件的讀寫為切入點(diǎn)設(shè)計(jì)了數(shù)字圖像處理軟件,系統(tǒng)中涵蓋了數(shù)字圖像處理領(lǐng)域的大部分算法,如幾何變換、閾值分割、邊緣檢測(cè),并對(duì)相應(yīng)的算法進(jìn)行了實(shí)現(xiàn)。其最大特點(diǎn)是可直觀性,對(duì)圖像處理結(jié)果一目了然,可勝任教學(xué)演示的需求,具有很強(qiáng)的可移植性和擴(kuò)展性。為使處理的結(jié)果更加有效、清晰,運(yùn)算速率更快,系統(tǒng)中的一些算法仍有優(yōu)化空間以待改進(jìn)。
[1]岡薩雷斯.數(shù)字圖像處理[M].北京:電子工業(yè)出版社,2007(08)
[2]陳天華.數(shù)字圖像處理[M].北京:清華大學(xué)出版社,2007(06).
[3]高守傳,聶云銘.Visual C++ 6.0開(kāi)發(fā)指南[M].北京:人民郵電出版社,2007(10).
[4]陸宗騏.C/C++圖像處理編程[M].北京:清華大學(xué)出版社,2005(01).
[5]楊枝靈,王開(kāi).Visual C++數(shù)字圖像獲取、處理及實(shí)踐應(yīng)用[M].北京:人民郵電出版社,2003(01).
張雁騰(1989-),男,黑龍江省人。碩士研究生。助教。研究方向?yàn)閿?shù)字圖像處理。
作者單位 桂林理工大學(xué)博文管理學(xué)院 廣西壯族自治區(qū)桂林市 541006
桂林理工大學(xué)博文管理學(xué)院科研項(xiàng)目(KY201505)。