資源描述:
《VC++數(shù)字圖像處理編程.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、VC數(shù)字圖像處理編程VC數(shù)字圖像處理編程講座之一前言 數(shù)字圖像處理技術(shù)與理論是計(jì)算機(jī)應(yīng)用的一個(gè)重要領(lǐng)域,許多工程應(yīng)用都涉及到圖像處理,一直有一個(gè)強(qiáng)烈的愿望,想系統(tǒng)的寫一個(gè)關(guān)于數(shù)字圖像處理的講座,由于工作學(xué)習(xí)很忙,時(shí)至今日才得以實(shí)現(xiàn)?! ?圖"是物體透射光或反射光的分布,"像"是人的視覺系統(tǒng)對(duì)圖的接收在大腦中形成的印象或認(rèn)識(shí)。圖像是兩者的結(jié)合。人類獲取外界信息是靠聽覺、視覺、觸覺、嗅覺、味覺等,但絕大部分(約80%左右)來自視覺所接收的圖像信息。圖像處理就是對(duì)圖像信息進(jìn)行加工處理,以滿足人的視覺心理和實(shí)際應(yīng)用的需要。簡單的說,依靠計(jì)算機(jī)
2、對(duì)圖像進(jìn)行各種目的的處理我們就稱之為數(shù)字圖像處理。早期的數(shù)字圖像處理的目的是以人為對(duì)象,為了滿足人的視覺效果而改善圖像的質(zhì)量,處理過程中輸入的是質(zhì)量差的圖像,輸出的是質(zhì)量好的圖像,常用的圖像處理方法有圖像增強(qiáng)、復(fù)原等。隨著計(jì)算機(jī)技術(shù)的發(fā)展,有一類圖像處理是以機(jī)器為對(duì)象,處理的目的是使機(jī)器能夠自動(dòng)識(shí)別目標(biāo),這稱之為圖像的識(shí)別,因?yàn)檫@其中要牽涉到一些復(fù)雜的模式識(shí)別的理論,所以我們后續(xù)的講座只討論其中最基本的內(nèi)容。由于在許多實(shí)際應(yīng)用的編程中往往都要涉及到數(shù)字圖像處理,涉及到其中的一些算法,這也是許多編程愛好者感興趣的一個(gè)內(nèi)容,我們這個(gè)講座就是
3、討論如何利用微軟的VisualC++開發(fā)工具來實(shí)現(xiàn)一些常用的數(shù)字圖像處理算法,論述了圖像處理的理論,同時(shí)給出了VC實(shí)現(xiàn)的源代碼。本講座主要的內(nèi)容分為基礎(chǔ)篇、中級(jí)篇和高級(jí)篇,具體包含的主要內(nèi)容有: 1.圖像文件的格式; 2.圖像編程的基礎(chǔ)-操作調(diào)色板; 3.圖像數(shù)據(jù)的讀取、存儲(chǔ)和顯示、如何獲取圖像的尺寸等; 4.利用圖像來美化界面; 5.圖像的基本操作:圖像移動(dòng)、圖像旋轉(zhuǎn)、圖像鏡像、圖像的縮放、圖像的剪切板操作; 6.圖像顯示的各種特技效果; 7.圖像的基本處理:圖像的二值化、圖像的亮度和對(duì)比度的調(diào)整、圖像的邊緣增強(qiáng)、如何得
4、到圖像的直方圖、圖像直方圖的修正、圖像的平滑、圖像的銳化等、圖像的偽彩色、彩色圖像轉(zhuǎn)換為黑白圖像、物體邊緣的搜索等等; 8.二值圖像的處理:腐蝕、膨脹、細(xì)化、距離變換等; 9.圖像分析:直線、圓、特定物體的識(shí)別; 10.JEPG、GIF、PCX等格式文件相關(guān)操作; 11.圖像文件格式的轉(zhuǎn)換; 12.圖像的常用變換:付利葉變換、DCT變換、沃爾什變換等; 13.AVI視頻流的操作; 圖像處理技術(shù)博大精深,不僅需要有很強(qiáng)的數(shù)學(xué)功底,還需要熟練掌握一門計(jì)算機(jī)語言,在當(dāng)前流行的語言中,我個(gè)人覺的VisualC++這個(gè)開發(fā)平臺(tái)是圖像
5、開發(fā)人員的首選工具。本講座只是起到拋磚引玉的作用,希望和廣大讀者共同交流。VC數(shù)字圖像處理編程講座之二第一節(jié)圖像的文件格式 要利用計(jì)算機(jī)對(duì)數(shù)字化圖像進(jìn)行處理,首先要對(duì)圖像的文件格式要有清楚的認(rèn)識(shí),因?yàn)槲覀兦懊嬲f過,自然界的圖像以模擬信號(hào)的形式存在,在用計(jì)算機(jī)進(jìn)行處理以前,首先要數(shù)字化,比如攝像頭(CCD)攝取的信號(hào)在送往計(jì)算機(jī)處理前,一般情況下要經(jīng)過數(shù)模轉(zhuǎn)換,這個(gè)任務(wù)常常由圖像采集卡完成,它的輸出一般為裸圖的形式;如果用戶想要生成目標(biāo)圖像文件,必須根據(jù)文件的格式做相應(yīng)的處理。隨著科技的發(fā)展,數(shù)碼像機(jī)、數(shù)碼攝像機(jī)已經(jīng)進(jìn)入尋常百姓家,我們
6、可以利用這些設(shè)備作為圖像處理系統(tǒng)的輸入設(shè)備來為后續(xù)的圖像處理提供信息源。無論是什么設(shè)備,它總是提供按一定的圖像文件格式來提供信息,比較常用的有BMP格式、JPEG格式、GIF格式等等,所以我們?cè)谶M(jìn)行圖像處理以前,首先要對(duì)圖像的格式要有清晰的認(rèn)識(shí),只有在此基礎(chǔ)上才可以進(jìn)行進(jìn)一步的開發(fā)處理。 在講述圖像文件格式前,先對(duì)圖像作一個(gè)簡單的分類。除了最簡單的圖像外,所有的圖像都有顏色,而單色圖像則是帶有顏色的圖像中比較簡單的格式,它一般由黑色區(qū)域和白色區(qū)域組成,可以用一個(gè)比特表示一個(gè)像素,"1"表示黑色,"0"表示白色,當(dāng)然也可以倒過來表示,這
7、種圖像稱之為二值圖像。我們也可以用8個(gè)比特(一個(gè)字節(jié))表示一個(gè)像素,相當(dāng)于把黑和白等分為256個(gè)級(jí)別,"0"表示為黑,"255"表示為白,該字節(jié)的數(shù)值表示相應(yīng)像素值的灰度值或亮度值,數(shù)值越接近"0",對(duì)應(yīng)像素點(diǎn)越黑,相反,則對(duì)應(yīng)像素點(diǎn)越白,此種圖像我們一般稱之為灰度圖像。單色圖像和灰度圖像又統(tǒng)稱為黑白圖像,與之對(duì)應(yīng)存在著彩色圖像,這種圖像要復(fù)雜一些,表示圖像時(shí),常用的圖像彩色模式有RGB模式、CMYK模式和HIS模式,一般情況下我們只使用RGB模式,R對(duì)應(yīng)紅色,G對(duì)應(yīng)綠色,B對(duì)應(yīng)藍(lán)色,它們統(tǒng)稱為三基色,這三中色彩的不同搭配,就可以搭配成
8、各種現(xiàn)實(shí)中的色彩,此時(shí)彩色圖像的每一個(gè)像素都需要3個(gè)樣本組成的一組數(shù)據(jù)表示,其中每個(gè)樣本用于表示該像素的一個(gè)基本顏色?! ?duì)于現(xiàn)存的所有的圖像文件格式,我們?cè)谶@里主要介紹BMP圖像文件格式,并且文件里的圖像