![數(shù)字圖像處理delphi圖像處理器_第1頁](http://file4.renrendoc.com/view/06de79d4c5590bb347ee0ef7642056c4/06de79d4c5590bb347ee0ef7642056c41.gif)
![數(shù)字圖像處理delphi圖像處理器_第2頁](http://file4.renrendoc.com/view/06de79d4c5590bb347ee0ef7642056c4/06de79d4c5590bb347ee0ef7642056c42.gif)
![數(shù)字圖像處理delphi圖像處理器_第3頁](http://file4.renrendoc.com/view/06de79d4c5590bb347ee0ef7642056c4/06de79d4c5590bb347ee0ef7642056c43.gif)
![數(shù)字圖像處理delphi圖像處理器_第4頁](http://file4.renrendoc.com/view/06de79d4c5590bb347ee0ef7642056c4/06de79d4c5590bb347ee0ef7642056c44.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
數(shù)字圖像處理,delphi圖像處理器內(nèi)容摘要圖像處理技術(shù)發(fā)展到今天,許多技術(shù)已日趨成熟。在各個領(lǐng)域的應(yīng)用取得了巨大的成功和顯著的經(jīng)濟效益。如在工程領(lǐng)域、工業(yè)生產(chǎn)、軍事、醫(yī)學以及科學研究中的應(yīng)用已十分普遍。正因為如此,圖像處理理論和技術(shù)受到了各界的廣泛重視,科學工作者經(jīng)過不懈的努力,已取得了令人矚目的成就,并正在向更加深入及更高的層次發(fā)展。數(shù)字圖像處理是一門理論與實踐緊密結(jié)合的學科,它是利用計算機對圖像進行去除噪聲、增強、復(fù)原、分割、提取特征等的理論、方法和技術(shù)。Delphi是全新的可視化編程環(huán)境,為我們提供了一種方便、快捷的Windows應(yīng)用程序開發(fā)工具。它使用了MicrosoftWindows圖形用戶界面的許多先進特性和設(shè)計思想,采用了彈性可重復(fù)利用的完整的面向?qū)ο蟪绦蛘Z言(Object-OrientedLanguage)>當今世界上最快的編輯器、最為領(lǐng)先的數(shù)據(jù)庫技術(shù)。對于廣大的程序開發(fā)人員來講,使用Delphi開發(fā)應(yīng)用軟件,無疑會大大地提高編程效率。在本次論文中,數(shù)字圖像處理包括圖像的格式轉(zhuǎn)換、圖像的點運算、圖像的幾何變換、圖像的增強及圖像特效等。圖像的格式轉(zhuǎn)換中,對如何轉(zhuǎn)換為JPEG和BMP兩種格式的圖像做了詳細的介紹。圖像的點運算,對圖像的灰度、對比度、灰度直方圖、反色等效果做了詳細的介紹。圖像的幾何變換,對圖像的平移、縮放、鏡像、旋轉(zhuǎn)等效果做了詳細的介紹。圖像的增強,介紹了灰度直方圖的拉伸常見處理的原理。除此之外,還對圖像特效及放大鏡的應(yīng)用做了簡單介紹。在本次設(shè)計中,Delphi圖像處理器其開發(fā)主要包括窗體的建立和應(yīng)用程序的開發(fā)兩個方面。對于前者要求建立一個操作簡潔的界面,主要應(yīng)用到Delphi中的Mainmenu、OpenpictureDiaIog>SavepictureDiaIog,Image等主要控件;對于后者我們使用了DeIphi中的事件和相應(yīng)的函數(shù)來實現(xiàn)。Delphi圖像處理器支持各種功能,如:文件的打開、保存、另存為、退出;圖像的JPEG格式轉(zhuǎn)換、BMP格式轉(zhuǎn)換;色彩的清除、反色、灰度及亮度對比度調(diào)整;圖像的平移、縮放、鏡像、任意角度旋轉(zhuǎn)等;并可對圖像進行飽和度調(diào)整和直方圖顯示等等。本處理器系統(tǒng)的軟件平臺是Windows98,采用Delphi6.0語言設(shè)計,界面簡潔明快,容易操作。關(guān)鍵詞:數(shù)字圖像處理;Delphi圖像處理器AbstractTheimageryprocessingtechnologicaldevelopmenttotoday,manytechnologieshasbeendaybydaymature.Obtainedineachdomainapplicationhasbeenhugesuccessfulandtheremarkableeconomicefficiency.Likeintheprojectdomain,theindustrialproduction,themilitary,themedicineaswellasthescientificresearchapplicationbyisextremelycommon.Becauseofthis,theimageryprocessingtheoryandthetechnologyreceivedfromallwalksoflifehaswidelytaken,thescientificworkerpassedthroughtheunremittingendeavor,hasobtainedtheamazingachievement,andtowasbeingmorethoroughandthehigherleveldevelopment.Digitalimageprocessingisatheoryandthepracticeincloseintegrationwithdiscipline,itiscarriesonusingthecomputertotheimageremovesthenoise,theenhancement,recovers,thedivision,withdrawsthecharacteristicandsoonthetheory,themethodandthetechnology.Delphiisthebrand-newvisibleprogrammingenvironment,hasconvenientlyprovidedonekindforusconveniently,thequickWindowsapplicationproceduredevelopmentkit.IthasusedMicrosoftWindowsgraphicaluserinterfacemanyadvancedcharacteristicsandthedesignthought,usestheelasticitytobepossiblethereuseintegrityobject-orientedprogramlanguage(Object-OrientedLanguage),nowintheworldthequickesteditor,themostleadingdatabanktechnology.Saysregardingthegeneralproceduresdevelopmentpersonnel,usestheDelphidevelopmentapplicationsoftware,withoutdoubtcanenhancetheprogrammingefficiencygreatly.Amongthesisthis,Digitalimageprocessingincludingformofthepictureischanged,picturesomeoperation,geometryofpicturevary,enhancementandpicturespeciallygoodeffect,etc.ofpicture.Formofpictureinchanging,tohowchangeintoJPEGandBMPtwopictureofformmakedetailedintroduction.Someoperationofpicture,greylevel,contrastratio,greylevelhistogram,makethedetailedintroductionagainstsuchresultsascolor,etc.inpicture.Geometryofthepictureisvaried,hasdonethedetailedintroductioninsuchresultsasthetranslation,scale,makingmirrorimages,rotatingtothepicture,etc.Enhancementofthepicture,Haveintroducedtheprincipleofcommontreatmentofdrawofthegreylevelhistogram.Inaddition,havealsodonethesimpleintroductiontotheapplicationofthespeciallygoodeffectofthepictureandmagnifyingglass.Amongdesignthis,Delphiimageprocessortheirdevelopmaintworespectsofdevelopmentincludingsettingupandapplicationprogramthatthewindowbodybuilds.Demandtosetuponeandoperatethesuccinctinterfacetotheformer,maincontrollingparts,suchasMainmenu,OpenpictureDialog,SavepictureDialog,ImageappliedtoinDelphimainly,etc.;WeuseincidentandcorrespondingfunctionofDelphirealizeastothelatter.Delphiimageprocessorsupportsvariouskindsoffunctions,forinstance:Fileopen,save,itcheckstobe,withdrawseparately;JPEGformofthepictureischanged,BMPformischanged;Theremoves,adjustsagainstcolor,greylevelandluminancecontrastratioingofcolor;Translation,scale,makingmirrorimagesofthepicture,thewantonangleisrotatedetc.;Andcanshowetc.theadjustmentofdegreeofsaturationandhistogramtothepicture.ThesoftwareplatformofthisprocessorsystemisWindows98,adoptsDelphi6.0languagetobedesigned,theinterfaceissuccinctandlucidandlively,easyoperation.Keywords:Digitalimageprocessing;DelphiimageprocessorTOC\o"1-5"\h\z弓I言 1\o"CurrentDocument"1 Delphi語言簡介 11.2數(shù)字圖像處理簡介 3二. 文獻綜述 5\o"CurrentDocument"1數(shù)字圖像處理的應(yīng)用 52.2數(shù)字圖像處理的發(fā)展趨勢 7\o"CurrentDocument"三.圖像處理及分析基礎(chǔ) 8\o"CurrentDocument"1圖像的基礎(chǔ)知識 8\o"CurrentDocument"3. 1.1圖像文件格式 8!1>??????????????????????????????????????????3.2圖像的點運算 113.2.1 圖像灰度處理 113.2.2圖像的灰度直方圖 113.2.3圖像亮度、對比度、飽和度 12\o"CurrentDocument"3.3.1 幾何變換基礎(chǔ) 13\o"CurrentDocument"3.3.2圖像的縮放 14\o"CurrentDocument"3.3.3圖像的平移 15\o"CurrentDocument"3.3.4 圖像的鏡像 163,3.5 圖彳象方正本/18\o"CurrentDocument"3.4圖像的增強 19\o"CurrentDocument"3.4.1圖像的平滑 19\o"CurrentDocument"4.2圖像的銳化 205圖像的特效顯示 216放大鏡 21四.DELPHI圖像處理器各部分功能的開發(fā)和實現(xiàn) 221窗體設(shè)計過程及其功能 221.1圖像的操作及色彩功能開發(fā) 221.2圖像的幾何變換功能開發(fā) 231.2圖像顯示里相關(guān)功能的開發(fā) 251.3圖像放大鏡功能的開發(fā) 25\o"CurrentDocument"2程序的實現(xiàn) 26\o"CurrentDocument".1圖像灰度處理 26.2亮度、飽和度、RGB顏色調(diào)整 272.4圖像的灰度直方圖 35\o"CurrentDocument"五結(jié)果與評價 39\o"CurrentDocument"1已實現(xiàn)功能 39\o"CurrentDocument"5.2對其功能的評價 39\o"CurrentDocument"六.結(jié)論 40致謝 數(shù)字圖像處理的基本應(yīng)用一.引言1Delphi語言簡介Delphi這個名字源于古希臘的城市名。它集中了第三代語言的優(yōu)點。以O(shè)bjectPascal為基礎(chǔ),擴充了面向?qū)ο蟮哪芰?,并且完美地結(jié)合了可視化的開發(fā)手段。Delphi自1995年3月一推出就受到了人們的關(guān)注,并在當年一舉奪得了多項大獎。Delphi的出現(xiàn)打破了V承可視化編程領(lǐng)域一統(tǒng)天下的局面。并且Delphi使用了本地編譯器直接生成技術(shù),使程序的執(zhí)行性能遠遠高于其它產(chǎn)品生成的程序。它還是真正的面向?qū)ο蟮木幊陶Z言。PASCAL語言的嚴謹加上可視化的優(yōu)勢和強大的數(shù)據(jù)庫功能使得它有充分的資本和微軟的VB叫板。許多人當時都認為Pascal是最有前途的程序設(shè)計語言,并預(yù)測Delphi將會成為可視化編程的主流環(huán)境。Delphi在你編好程序后自動轉(zhuǎn)換成.EXE文件它運行時速度比VB快,而且編譯后不需要其他的支持庫就能運行。它的數(shù)據(jù)庫功能也挺強的,是開發(fā)中型數(shù)據(jù)庫軟件理想的編程工具。Delphi適用于應(yīng)用軟件、數(shù)據(jù)庫系統(tǒng)、系統(tǒng)軟件等類型的開發(fā)。而且它擁有和VB差不多一樣的功能,而且一樣能應(yīng)用API函數(shù),這在控制Windows很有用。Delphi在你編好程序后自動轉(zhuǎn)換成.EXE文件它運行時速度比VB快,而且編譯后不需要其他的支持庫就能運行。它的數(shù)據(jù)庫功能也挺強的,是開發(fā)中型數(shù)據(jù)庫軟件理想的編程工具。Delphi適用于應(yīng)用軟件、數(shù)據(jù)庫系統(tǒng)、系統(tǒng)軟件等類型的開發(fā)。而且它擁有和VB差不多一樣的功能,而且一樣能應(yīng)用API函數(shù),這在控制Windows很有用。Delphi實際上是Pascal語言的一種版本,但它與傳統(tǒng)的Pascal語言有天壤之別。一個Delphi程序首先是應(yīng)用程序框架,而這一框架正是應(yīng)用程序的“骨架”。在骨架上即使沒有附著任何東西,仍可以嚴格地按照設(shè)計運行。您的工作只是在“骨架”中加入您的程序。缺省的應(yīng)用程序是一個空白的窗體(Form),您可以運行它,結(jié)果得到一個空白的窗口。這個窗口具有Windows窗口的全部性質(zhì):可以被放大縮小、移動、最大最小化等,但您卻沒有編寫一行程序。因此,可以說應(yīng)用程序框架通過提供所有應(yīng)用程序共有的東西,為用戶應(yīng)用程序的開發(fā)打下了良好的基礎(chǔ)。Delphi已經(jīng)為您做好了一切基礎(chǔ)工作——程序框架就是一個己經(jīng)完成的可運行應(yīng)用程序,只是不處理任何事情。您所需要做的,只是在程序中加入完成您所需功能的代碼而已。在空白窗口的背后,應(yīng)用程序的框架正在等待用戶的輸入。由于您并未告訴它接收到用戶輸入后作何反應(yīng),窗口除了響應(yīng)Windows的基本操作(移動、縮放等)外,它只是接受用戶的輸入,然后再忽略。Delphi把Windows編程的回調(diào)、句柄處理等繁復(fù)過程都放在一個不可見的Romulam覆蓋物下面,這樣您可以不為它們所困擾,輕松從容地對可視部件進行編程。面向?qū)ο蟮某绦蛟O(shè)計(Object-OrientedProgramming,簡記為OOP)是Delphi誕生的基礎(chǔ)。OOP立意于創(chuàng)建軟件重用代碼,具備更好地模擬現(xiàn)實世界環(huán)境的能力,這使它被公認為是自上而下編程的優(yōu)勝者。它通過給程序中加入擴展語句,把函數(shù)“封裝”進Windows編程所必需的“對象”中。面向?qū)ο蟮木幊陶Z言使得復(fù)雜的工作條理清晰、編寫容易。說它是一場革命,不是對對象本身而言,而是對它們處理工作的能力而言。對象并不與傳統(tǒng)程序設(shè)計和編程方法兼容,只是部分面向?qū)ο蠓炊鴷骨樾胃?。除非整個開發(fā)環(huán)境都是面向?qū)ο蟮?,否則對象產(chǎn)生的好處還沒有帶來的麻煩多。而Delphi是完全面向?qū)ο蟮?,這就使得Delphi成為一種觸手可及的促進軟件重用的開發(fā)工具,從而具有強大的吸引力。一些早期的具有OOP性能的程序語言如C++,Pascal,Smalltalk等,雖然具有面向?qū)ο蟮奶卣鳎荒茌p松地畫出可視化對象,與用戶交互能力較差,程序員仍然要編寫大量的代碼。Delphi的推出,填補了這項空白。您不必自己建立對象,只要在提供的程序框架中加入完成功能的代碼,其余的都交給Delphi去做。欲生成漂亮的界面和結(jié)構(gòu)良好的程序絲毫不必絞盡腦汁,Delphi將幫助您輕松地完成。它允許在一個具有真正OOP擴展的可視化編程環(huán)境中,使用它的ObjectPascal語言。這種革命性的組合,使得可視化編程與面向?qū)ο蟮拈_發(fā)框架緊密地結(jié)合起來。1.2數(shù)字圖像處理簡介數(shù)字計算機最擅長的莫過于處理各種數(shù)據(jù),數(shù)字化后的圖像可以看成是存儲在計算機中的有序數(shù)據(jù),當然可以通過計算機對數(shù)字圖像進行處理。我們把利用計算機對圖像進行去除噪聲、增強、復(fù)原、分割、提取特征等的理論、方法和技術(shù)稱為數(shù)字圖像處理(DigitalImageProcessing)0一般,圖像處理是用計算機和實時硬件實現(xiàn)的,因此也稱之為計算機圖像處理(ComputerImageProcessing)。數(shù)字圖像處理的產(chǎn)生和迅速發(fā)展主要受如下三個方面的影響。一是計算機的發(fā)展。早期的計算機無論在計算速度或存儲容量方面,難于滿足對龐大圖像數(shù)據(jù)進行實時處理的要求。隨著計算機硬件技術(shù)及數(shù)字化技術(shù)的發(fā)展,計算機、內(nèi)存及外圍設(shè)備的價格急劇下降,而其性能卻有了大幅度的提高。過去只能用大型計算機完成的龐大處理,現(xiàn)在,在個人計算機(PC機)上也能夠輕而易舉地實現(xiàn)。二是數(shù)學的發(fā)展,特別是離散數(shù)學理論的創(chuàng)立和完善,為數(shù)字圖像處理奠定了理論基礎(chǔ)。三是軍事、醫(yī)學和工業(yè)等方面應(yīng)用需求的不斷增長。自20世紀20年代,圖像處理首次應(yīng)用于改善倫敦和紐約之間海底電纜發(fā)送的圖片質(zhì)量以來,經(jīng)過幾十年的研究與發(fā)展,數(shù)字圖像處理的理論和方法進一步完善,應(yīng)用范圍更加廣闊,已經(jīng)成為一門新興的學科,并在向更高級的方向發(fā)展。如在景物理解和計算機視覺(機器視覺)方面,圖像處理已由二維處理發(fā)展到三維理解或解釋。特別是在景物理解和機器視覺方面,圖像也已由二維處理變成三維解釋。近幾年來,隨著計算機和各個相關(guān)領(lǐng)域研究的迅速發(fā)展,科學計算可視化、多媒體技術(shù)等研究和應(yīng)用的興起,數(shù)字圖像處理從一個專門領(lǐng)域的學科,變成了一種新型的科學研究和人機界面的工具。數(shù)字圖像處理是利用計算機的計算,實現(xiàn)與光學系統(tǒng)模擬處理相同效果的過程。數(shù)字圖像處理具有如下特點:(1)處理精度高,再現(xiàn)性好。利用計算機進行圖像處理,其實質(zhì)是對圖像數(shù)據(jù)進行各種運算。由于計算機技術(shù)的飛速發(fā)展,計算精度和計算的正確性勿庸置疑;另外,對同一圖像用相同的方法處理多次,也可得到完全相同的效果,具有良好的再現(xiàn)性。(2)處理的多樣性。由于圖像處理是通過運行程序進行的,因此,設(shè)計不同的圖像處理程序,可以實現(xiàn)各種不同的處理目的。(3)圖像數(shù)據(jù)量龐大。圖像中包含有豐富的信息,可以通過圖像處理技術(shù)獲取圖像中包含的有用的信息,但是,數(shù)字圖像的數(shù)據(jù)量巨大。一幅數(shù)字圖像是由圖像矩陣中的像素(Pixel)組成的,通常每個像素用紅、綠、藍三種顏色表示,每種顏色用8bit表示灰度級。則一幅1024X1024不經(jīng)壓縮的真彩色圖像,數(shù)據(jù)量達3MB(即1024X1024X8bitX3=24Mb)。X射線照片一般用64~256Kb的數(shù)據(jù)量,一幅遙感圖像為3240X2340X4=30Mb。如此龐大的數(shù)據(jù)量給存儲、傳輸和處理都帶來巨大的困難。如果精度及分辨率再提高,所需處理時間將大幅度增加。(4)處理費時。由于圖像數(shù)據(jù)量大,因此處理比較費時。特別是處理結(jié)果與中心像素鄰域有關(guān)的處理過程(如第四章介紹的區(qū)處理方法)花費時間更多。(5)圖像處理技術(shù)綜合性強。數(shù)字圖像處理涉及的技術(shù)領(lǐng)域相當廣泛,如通信技術(shù)、計算機技術(shù)、電子技術(shù)、電視技術(shù)等,當然,數(shù)學、物理學等領(lǐng)域更是數(shù)字圖像處理的基礎(chǔ)。一般而言,對圖像進行加工和分析主要有如下三方面的目的:(1)提高圖像的視感質(zhì)量,以達到賞心悅目的目的。如去除圖像中的噪聲,改變圖像的亮度、顏色,增強圖像中的某些成份、抑制某些成份,對圖像進行幾何變換等,從而改善圖像的質(zhì)量,以達到或真實的、或清晰的、或色彩豐富的、或意想不到的藝術(shù)效果。(2)提取圖像中所包含的某些特征或特殊信息,以便于計算機分析,例如,常用作模式識別、計算機視覺的預(yù)處理等。這些特征包括很多方面,如頻域特性、灰度/顏色特性、邊界/區(qū)域特性、紋理特性、形狀/拓撲特性以及關(guān)系結(jié)構(gòu)等。(3)對圖像數(shù)據(jù)進行變換、編碼和壓縮,以便于圖像的存儲和傳輸。文獻綜述2.1數(shù)字圖像處理的應(yīng)用數(shù)字圖像處理是指數(shù)字計算機及其它有關(guān)數(shù)字技術(shù),對圖像施加某種運算和處理,從而達到某種預(yù)想目的和技術(shù)。圖像在計算機里的表示形式就是所謂的“數(shù)字圖像”。數(shù)字圖像處理出現(xiàn)于50年代,作為一種學科形成于60年代。廣泛應(yīng)用于通信、醫(yī)學、印染工業(yè)、工業(yè)檢測、科學研究等領(lǐng)域。在日常生活中,圖像處理已經(jīng)得到廣泛應(yīng)用。例如,電腦人像藝術(shù),電視中的特殊效果,自動售貨機鈔票的識別,郵政編碼的自動識別和利用指紋、虹膜、面部等特征的身份識別等。在醫(yī)學領(lǐng)域,很早以前就采用X射線透視、顯微鏡照片等來診斷疾病?,F(xiàn)在,計算機圖像處理已成為疾病診斷的重要手段,用一般攝影方法不能獲取的身體內(nèi)部的狀況,也能由特殊的圖像處理裝置獲取,最具有代表性的就是X射線CT(ComputedTomograph,計算機斷層攝像)。圖像處理技術(shù)要解決的幾個核心問題:(1)圖像信息的數(shù)據(jù)化(采樣、量化、顏色模型)(2)圖像信息的存儲(3)圖像信息的傳輸(4)圖像處理算法圖像處理的基本內(nèi)容:(1)圖像信息的獲取(2)圖像的存儲(3)圖像的傳輸(4)圖像處理(5)圖像顯示和打?。ㄓ∷ⅲ?shù)字圖像處理主要應(yīng)用于下面的幾個領(lǐng)域。1)通訊通訊包括圖像傳輸、電視電話、電視會議等,主要是進行圖像壓縮甚至理解基礎(chǔ)上的壓縮。2)宇宙探測由于太空技術(shù)的發(fā)展,需要用數(shù)字圖像處理技術(shù)處理大量的星體照片。3)遙感航空遙感和衛(wèi)星遙感圖像需要用數(shù)字技術(shù)加工處理,并提取有用的信息。主要用于地形地質(zhì),礦藏探查,森林、水利、海洋、農(nóng)業(yè)等資源調(diào)查,自然災(zāi)害預(yù)測預(yù)報,環(huán)境污染監(jiān)測,氣象衛(wèi)星云圖處理以及地面軍事目標的識別。4)生物醫(yī)學領(lǐng)域中的應(yīng)用圖像處理在醫(yī)學界的應(yīng)用非常廣泛,無論是臨床診斷還是病理研究都大量采用圖像處理技術(shù)。它的直觀、無創(chuàng)傷、安全方便等優(yōu)點備受青睞。5)工業(yè)生產(chǎn)中的應(yīng)用在生產(chǎn)線中對產(chǎn)品及部件進行無損檢測是圖像處理技術(shù)的重要應(yīng)用領(lǐng)域。在計算機輔助設(shè)計和輔助制造方面,己獲得越來越廣泛的應(yīng)用,并和基于圖形學的模具、機械零件、服裝、印染花型CAD結(jié)合。目前二維圖紙自動輸入和理解,根據(jù)3D實物建立CAD模型等越來越引起重視。6)軍事、公安等方面的應(yīng)用軍事目標的偵察、制導和警戒系統(tǒng)、自動滅火器的控制及反偽裝;公安部門的現(xiàn)場照片、指紋、手跡、印章、人像等的處理和辨識;歷史文字和圖片檔案的修復(fù)和管理等。7)機器人視覺機器視覺作為智能機器人的重要感覺器官,主要進行三維景物理解和識別,是目前處于研究之中的開放課題。機器視覺主要用于軍事偵察、危險環(huán)境的自主機器人,郵政、醫(yī)院和家庭服務(wù)的智能機器人,裝配線工件識別、定位,太空機器人的自動操作等。8)視頻和多媒體系統(tǒng)目前,電視制作系統(tǒng)廣泛使用的圖像處理、變換、合成,多媒體系統(tǒng)中靜止圖像和動態(tài)圖像的采集、壓縮、處理、存貯和傳輸?shù)取?)科學可視化[HTSS]圖像處理和圖形學緊密結(jié)合,形成了科學研究各個領(lǐng)域新型的研究工具。10)電子商務(wù)在當前呼聲甚高的電子商務(wù)中,圖像處理技術(shù)也大有可為,如身份認證、產(chǎn)品防偽、水印技術(shù)等。總之,圖像處理技術(shù)應(yīng)用領(lǐng)域相當廣泛,己在國家安全、經(jīng)濟發(fā)展、日常生活中充當越來越重要的角色,對國計民生的作用不可低估。2.2數(shù)字圖像處理的發(fā)展趨勢圖像處理技術(shù)發(fā)展到今天,許多技術(shù)已日趨成熟。在各個領(lǐng)域的應(yīng)用取得了巨大的成功和顯著的經(jīng)濟效益。如在工程領(lǐng)域、工業(yè)生產(chǎn)、軍事、醫(yī)學以及科學研究中的應(yīng)用以十分普遍。正因為如此,圖像處理理論和技術(shù)受到了各界的廣泛重視,科學工作者經(jīng)過不懈的努力,已取得了令人矚目的成就,并正在向更加深入及更高的層次發(fā)展。在該領(lǐng)域中需進一步研究的問題,不外乎如下五個方面:1)在進一步提高精度的同時找中解決處理速度問題。如在航天遙感、氣象云圖處理方面,巨大的數(shù)據(jù)量和處理速度仍然是主要矛盾之一。2)加強軟件研究、開發(fā)新的處理方法,特別要注意移植和借鑒其他學科的技術(shù)和研究成果,創(chuàng)造新的處理方法。3)加強邊緣學科的研究工作,促進圖像處理技術(shù)的發(fā)展。如:人的視覺特性、心理學特性等的研究。如果有突破,將對圖像處理技術(shù)的發(fā)展起到極大的促進作用。4)加強理論研究,逐步形成圖像處理科學自身的理論體系。5)時刻注意圖像處理領(lǐng)域的標準化問題。圖像的信息量大、數(shù)據(jù)量大,因而圖像信息的建庫、檢索和交流是一個極嚴重的問題。就現(xiàn)有的情況看,軟件、硬件種類繁多,交流和使用極為不便,這成了資源共享的嚴重障礙。應(yīng)及早建立圖像信息庫,同意存放格式,建立標準子程序,同意檢索方法。圖像處理技術(shù)未來發(fā)展大致可歸納為如下四點:1)圖像處理的發(fā)展將向著告訴、高分辨率、立體化、多媒體化、智能化和標準化方向發(fā)展。2)圖像、圖像相結(jié)合朝著三維成像的方向發(fā)展。3)硬件芯片研究。4)新理論與新算法研究。三.圖像處理及分析基礎(chǔ)3.1圖像的基礎(chǔ)知識3.1.1圖像文件格式.BMP(BitMap)格式BMP格式是Windows環(huán)境中的一種標準,全稱是Microsoft設(shè)備獨立位圖(DeviceIndependentBitmap,DIP)oBMP圖像文件也稱位圖文件,包括3部分:錯誤!未找到引用源。位圖文件頭(也稱表頭);錯誤!未找到引用源。位圖信息(常稱調(diào)色板);錯誤!未找到引用源。位圖陣列(即圖像數(shù)據(jù))。一個位圖文件只能存放一幅圖像。位圖文件頭長度固定為54個字節(jié),它給出圖像文件的類型、大小和位圖陣列的起始位置等信息.位圖信息給出圖像的長、寬、每個像素的位數(shù)(可以是1,4,8,24,分別對應(yīng)單色、16色、256色和真彩色的情況)、壓縮方法、目標設(shè)備的水平和垂直分辨率等信息。位圖陣列給出原始圖像里每個像素的值(例如對真彩色圖像每3個字節(jié)表示一個像素,分別是藍、綠、紅的值),它的存儲格式可以有壓縮(僅用語16色和256色圖像)和非壓縮兩種。.JPEG(JointPhotographicExpertsGroup)格式JPEG是對靜止灰度或彩色圖像的一種國際壓縮標準,已在數(shù)字照相機上得到廣泛使用,當選用有損壓縮方式時其可節(jié)省的空間是相當大的。JPEG標準知識定義了一個規(guī)范的編碼數(shù)據(jù)流,并沒有規(guī)定圖像數(shù)據(jù)文件的格式。CubeMicrosystems公司定義了一種JPEG文件交換格式(FileInterchangeFormat,JFIF)□JFIF圖像是一種或者使用灰度表示,或者使用Y,Cb,C分量彩色表示的JPEG圖像。它包含一個與JPEG兼容的頭。一個JFIF文件通常包含耽擱圖像,圖像可以是灰度的,其中的數(shù)據(jù)為單個反來年感;也可以是彩色的。.1.2顏色模型RGB模型RGB模型用三維空間中的一個點來表示一種顏色,如圖3-1所示。每個點有三個分量,分別代表該點顏色的紅、綠、藍亮度值,亮度值限定在[0,口。在RGB模型立方體中,原點所對應(yīng)的顏色為黑色,它的三個分量值都為零。距離原點最遠的頂點對應(yīng)的顏色為白色,它的三個分量值都為1。從黑到白的灰度值分布在這兩個點的連線上,該線稱為灰色線。立方體內(nèi)其余各點對應(yīng)不同的顏色。彩色立方體中有三個角對應(yīng)于三基色一一紅、綠、藍。剩下的三個角對應(yīng)于三基色的三個補色一一黃色、青色(藍綠色)、品紅(紫色)。圖3-1RGB模型單位立方體HSI模型HSI模型是Munseu提出的,它反映了人的視覺系統(tǒng)觀察彩色的方式,在藝術(shù)上經(jīng)常使用HSI模型。HSI模型中,〃表示色調(diào)(Hue),S表示飽和度(Saturation),I表示亮度(Intensity,對應(yīng)成像亮度和圖像灰度)。這個模型的建立基于兩個重要的事實:①/分量與圖像的彩色信息無關(guān);②〃和S分量與人感受顏色的方式是緊密相聯(lián)的。這些特點使得HSI模型非常適合借助人的視覺系統(tǒng)來感知彩色特性的圖像處理算法。圖3-2中的色相環(huán)描述了色相和飽和度兩個參數(shù)。色相由角度表示,它反映了該彩色最接近什么樣的光譜波長。一般假定0°表示的顏色為紅色,120°的為綠色,240°的為藍色。0°到240°的色相覆蓋了所有可見光譜的彩色,在240°到300°之間為人眼可見的非光譜色(紫色)。
飽和度是指一個顏色的鮮明程度,飽和度越高,顏色越深,如深紅,深綠。飽和度參數(shù)是色環(huán)的原點(圓心)到彩色點的半徑的長度。由色相環(huán)可以看出,環(huán)的邊界上純的或飽和的顏色,其飽和度值為1。在中心是中性(灰色)陰影,飽和度為圖3-2色相環(huán)亮度是指光波作用于感受器所發(fā)生的效應(yīng),其大小由物體反射系數(shù)來決定,反射系數(shù)越大,物體的亮度愈大,反之愈小。HSI模型的三個屬性定義了一個三維柱形空間,如圖3-3所示。灰度陰影沿著軸線從底部的黑變到頂部的白,具有最高亮度。最大飽和度的顏色位于圓柱上頂面的圓周上。圖3-3柱形彩色空間
3.2圖像的點運算2.1圖像灰度處理圖像有彩色轉(zhuǎn)化為灰度的過程叫做灰度化,由于位圖為點陣圖像,它的每一個像素點由R、G、B三個分量組成,R、G、B的變化可以產(chǎn)生1600多萬種顏色,在中灰度化有幾種方法可以實現(xiàn):方法一:求出每一個像素點的R、G、B的平均值,然后把這個平均值賦給該像素點的R、G、B三個分量。方法二:求出每一個像素點R、G、B三個分量的最大值,然后把這個最大值賦給原來像素點的R、G、B三個分量。方法三:根據(jù)YUV的顏色空間,丫分量的物理含義就是亮度,它含了灰度圖的所有信息,只用丫分量就完全能夠表示出一幅灰度圖來。YUV和RGB之間有著如下的對應(yīng)關(guān)系:0.2990.587 0.114-0.148-0.289-0.437(式3-1)0.6150.2990.587 0.114-0.148-0.289-0.437(式3-1)0.6150.515-0.100利用上式,可以求出:Y=0.299R+0.587G+0.114B根據(jù)R、G、B的值求出值后,將R、G、B值都賦值成Y,就能表示出灰度圖來,這就是24位真彩色圖轉(zhuǎn)灰度圖的原理。2.2圖像的灰度直方圖直方圖就是反映一幅圖像中的灰度級與出現(xiàn)這種灰度的概率之間的關(guān)系圖?;叶戎狈綀D也是一個一維(1-D)的離散函數(shù):P(sk)=nk/n 其中k=0,1,2,…,LT上式中Sk為圖像/(x,y)的第K級灰度值,nk為/(x,y)中具有灰度值為心像素點的個數(shù),而n為圖像像素點總數(shù)。因為P(s。給出了對Sk出現(xiàn)概率的估計,所以直方圖提供了原圖的灰度值的分布情況,也就是給出了一幅圖像的灰度值的整體描述,如圖3-4所示。
?fForwlRF1EI0 255 25?fForwlRF1EI0 255 25璃和?各灰度■大餐烹京ikJ& 31537圖3-4灰度直方圖其中x方向反映的是256級的灰度分布,而y方向上的是某個灰度級上的像素點的個數(shù),如果要編寫程序,則學要做以下幾個工作,首先必須統(tǒng)計出每一個灰度級上的像素點的個數(shù),其次是繪制。像素點的統(tǒng)計比較簡單,繪制的時候要注意一點,就是統(tǒng)計出來的像素點數(shù)可能很大,超過窗體的最大范圍,故而必須處理一下統(tǒng)計出來的點,這里采用對數(shù)法,可以使像素點數(shù)的數(shù)量級減小。2.3圖像亮度、對比度、飽和度.圖像亮度處理亮度的調(diào)整是指對人眼亮度感覺的調(diào)整,在RGB顏色空間中一般是對R、G、B三個分量同時進行增加或者減少進行調(diào)節(jié),在HSL顏色空間則只需調(diào)節(jié)L分量就能線性地改變圖像的亮度值。.圖像對比度處理圖像對比度是指圖像上兩點問信號的差異。在一幅灰階圖像上,信號的差異是通過灰度(或亮度)的明暗來體現(xiàn)的,高對比度表示圖像上兩個不同的觀察點一個非常安,另一個非常亮,而低對比度表示兩點的相對亮度差別較小,當提高對比度時,圖像中的安色調(diào)變得更暗,亮色區(qū)域變得更兩,而人眼在辨認一件事物時,更多地是從色彩的差錯對比中得出結(jié)論,因此更大的對比度會帶來更為醒目的效果.對比度的改變,往往使暗色調(diào)損失細節(jié),因此,在幾乎所有位圖處理軟件中,都將明暗度(Brightness)調(diào)整功能與對比度調(diào)整功能集中放在一起以便于使用.適當?shù)剡M行一些明暗調(diào)整,會讓整個圖像顯得更加自然。在Delpi程序設(shè)計中,一個簡化的方法是:區(qū)間調(diào)節(jié)即首先設(shè)定一
個閥值,通常是128;然后判斷像素點的R、G、B值,凡是大于128的,增加一個值,小于128的,減少一個值。.飽和度調(diào)節(jié)飽和度又稱為純度,即色彩的純凈程度。某一純凈色加上白或黑,可降低其純度,或趨于柔和、或趨于沉重。飽和度的調(diào)節(jié)可以在RGB顏色空間,也可以在HSL顏色空間進行,一般的在RGB空間也就是調(diào)節(jié)每一個像素點的三個分量。2.4圖像的反色對于一幅24位的真彩色位圖,它的每一個字節(jié)由R、G、B三個分量構(gòu)成,圖像的反色就是對R、G、B三個分量同時進行取反操作。3.3圖像的幾何變換3.1幾何變換基礎(chǔ)圖像的幾何變換:是指對于一幅原始圖像,按照需要產(chǎn)生大小、形狀和位置的變化。圖像的幾何變換基礎(chǔ):點變換。圖像幾何變換分類:1按圖像類型來分:1)二維平面圖像的幾何變換2)三維圖像的幾何變換3)由三維向二維平面投影變換等2從變換的性質(zhì)分:1)平移、比例縮放、旋轉(zhuǎn)、對稱和錯切等基本變換,2)透視變換等復(fù)合變換,以及插值運算等?;編缀巫儞Q平移變換:是將圖像對象從一個位置(x,y)移到另一個位置(x',y')的變換。它只改變物體的位置,不改變物體的大小和形狀。x'=x+Txy'=y+Ty矩陣表示為:(式3-2)比例變換:是使圖形按在x和y坐標軸方向分別按比例因子Sx和Sy放大或縮
小的變換。它可以改變圖像的大小和形狀。x'=x?Sxy'=y,SySx0Sx0(式3-3)其中,Sx和Sy為比例因子。旋轉(zhuǎn)變換:設(shè)P點的坐標為(x,y),使P點繞坐標原點逆時針旋轉(zhuǎn)。角(。>0)到達P'點x'=xcos6-ysin0y'=xsin0+ycos0cos6cos6-sin6x'y(式3-4)sin,cos(式3-4)旋轉(zhuǎn)變換不改變物體的形狀和大小,它是一種剛性變換。3.3.2圖像的縮放圖像比例縮放是指將給定的圖像在X軸方向按比例縮放急倍,在y軸方向按比例縮放/y倍,從而獲得一幅新的圖像。如果八=方,即在x軸方向和y軸方向縮放的比率相同,稱這樣的比例縮放為圖像的全比例縮放。如果fx^fy,圖像的比例縮放會改變原始圖像的像素間的相對位置,產(chǎn)生幾何畸變。設(shè)原圖像中的點用(抑),加)比例縮放后,在新圖像中的對應(yīng)點為P(x,y),則用(抑),加)和P(x,力之間的對應(yīng)關(guān)系如圖3-5所不。
圖3-5比例縮放比例縮放前后兩點用(如,加)、P{x,0之間的關(guān)系用矩陣形式可以表示為(式3-5)笈0 0X(式3-5)oAoy0oooj[i3.3.3圖像的平移圖3-6圖像平移設(shè)點用(沏,70)進行平移后,移到尸(x,y).其中*方向的平移量為Ax,y方向的平移量為△外那么,點P(x,力的坐標為x=x0+Ax<j=y()+Ay利用齊次坐標,變換前后圖像上的點用(即,70)和P(%力之間的關(guān)系可以用如下的矩陣變換表示為
Xy(式3-6)對變換矩陣求逆,可以得到上式的逆變換(式Xy(式3-6)對變換矩陣求逆,可以得到上式的逆變換(式3-7)/=x-Ax7o=y-與這樣,平移后的圖像上的每一點都可以在原圖像中找到對應(yīng)的點。例如,對于新圖中的(0,0)像素,代入上面的方程組,可以求出對應(yīng)原圖中的像素(-Ax,-Ay)o如果Ax或Ay大于0,則點(-△*,-Ay)不在原圖像中。對于不在原圖像中的點,可以直接將它的像素值統(tǒng)一設(shè)置為0或者255(對于灰度圖就是黑色或白色)。圖3-7圖3-7平移前的圖像圖3-8平移后的圖像3.3.4圖像的鏡像鏡像顯示形成兩幅絕對對稱的圖像,具體操作時有水平鏡像和垂直鏡像之分,這其中包括兩幅圖像的顯示過程,即正面圖像和反面圖像,正面圖像的顯示方法非常簡單,在Delphi中有多種方法,關(guān)鍵之處是反面圖像的顯示過程,這其中涉及圖像的變形操作;實現(xiàn)圖像變形的一種簡單方法是重新安排像素位置,比如左面和右面的像素條一一對換,即可得到水平防線的反面圖像,同樣通過上下像素條的對換則可得到垂直方向的反面圖像。為了得到更美觀的鏡像顯示效果,具體操作時不能先顯示一幅正常圖像,然后再顯示反面圖像,而需要兩個圖像同時從交叉點向外顯示,這樣形成
特殊的屏幕效果垂直鏡像特殊的屏幕效果垂直鏡像圖3-9圖像的鏡像圖像的鏡像變換也可以用矩陣變換表示。設(shè)點4(“,網(wǎng))進行鏡像后的對應(yīng)點為P(x,y),圖像高度為/Height,寬慢為fWidth,原圖像中力(沖,陽)經(jīng)過水平鏡像后坐標將變?yōu)椋╢Widt斤冷,加),其矩陣表達式為001001(式3-8)逆運算矩陣表達式為(式3-9)(式3-9)xQ=/Width—xJo=y同樣,他(“,川)經(jīng)過垂直鏡像后坐標將變?yōu)椋ㄈ纾琭Height-a,其矩陣表表達式為(式3-10)(式3-10)逆運算矩陣表達式為(式3-11)x0T卜]o o(式3-11)%=y0-1 01 1 0/Height1x0=xy0=freight-y3.3.5圖像的旋轉(zhuǎn)圖像的旋轉(zhuǎn):一般圖像的旋轉(zhuǎn)是以圖像的中心為原點,將圖像上的所有像素都旋轉(zhuǎn)一個相同的角度。圖像的旋轉(zhuǎn)變換是圖像的位置變換,但旋轉(zhuǎn)后,圖像的大小一般會改變。和圖像平移一樣,在圖像旋轉(zhuǎn)變換中既可以把轉(zhuǎn)出顯示區(qū)域的圖像截去,也可以擴大圖像范圍以顯示所有的圖像。如圖3T3、圖3T4所示。圖3T3旋轉(zhuǎn)前的圖像 圖3-14旋轉(zhuǎn)8后的圖像(擴大圖像'轉(zhuǎn)出部分被截)同樣,圖像的旋轉(zhuǎn)變換也可以用矩陣變換表示。設(shè)點他(如,加)旋轉(zhuǎn)0角后的對應(yīng)點為P(x,y)那么,旋轉(zhuǎn)前后點用(如,加)、P{x,y)的坐標分別是(逆時針旋轉(zhuǎn)0角)x0=rcosa
<=rsinax=rcos(a+。)=rcosacos^-rsinasinff=x0cos。一yGsin。、〈 . . . . (式3-12)y=rsin(a+6)=rsinacos^+rcosasin^=x0sin6+y0cos。
寫成矩陣表達式為其逆運算為X寫成矩陣表達式為其逆運算為Xy1T%1cos。-sin。0sin。cos。0o-01(式3-13)TX1?cos。一sin。o-y0ysin。cos。1(式3-14)110013.4圖像的增強3.4.1圖像的平滑一幅圖象可能存在著各種寄生效應(yīng),這些寄生效應(yīng)可能在傳輸中產(chǎn)生,也可能在量化等處理過程中產(chǎn)生。較好的平滑處理方法應(yīng)該能夠消除這些寄生效應(yīng),又不使圖象的邊緣輪廓和線條變模糊。圖象的平滑處理方法也分為空域方法和時域方法兩大類。主要有鄰域平均法,低通濾波方法和多圖象平均方法等。 鄰域平均法是簡單的空域處理方法。這種方法的基本思想是用幾個像素灰度的平均值來代替每個像素的灰度。假定有一幅NXN個像素的圖像f(x,y),平滑處理后得到一幅圖像g(x,y)og(x,y)由下式?jīng)Q定:g(x,y)=77 (式3-15)式中x,y=0,1,2,…,NT,S是(x,y)點鄰域中點的集合,但其中不包括(x,y)點,M是集合內(nèi)坐標點的總數(shù)。上式說明,平滑化的圖像g(x,y)中的每個像素的灰度值均由包含在(x,y)的預(yù)定鄰域中的f(x,y)的幾個像素的灰度值的平均值來決定。例如,可以以(x,y)點為中心,取單位距離構(gòu)成一個鄰域,其中點的坐標集合為S={(x,y+1),(x,y-1),(x+1,y),(x-1,y)}下圖給出了兩種從圖像陣列中選取鄰域的方法。圖(a)的方法是一個點的鄰域,定義為以該點為中心的一個圓的內(nèi)部或邊界上的點的集合。圖中選取點的灰度值就是圓周上4個像素灰度值的平均值。圖(b)是選擇圓的邊界上的點和在圓內(nèi)的點為S的(?) (力集合。圖3-15圖像的平滑處理結(jié)果表明,上述選擇鄰域的方法對抑制噪聲是有效的,但是隨著鄰域的加大,圖像的模糊程度也愈加嚴重。為克服這一缺點,可以采用閾值法減少由于鄰域平均所產(chǎn)生的模糊效應(yīng)。4.2圖像的銳化圖像尖銳化處理主要用于增強圖像的邊緣及灰度跳變部分。因為圖象中邊緣及急劇變化部分與高頻分量有關(guān),所以當利用高通濾波器衰減圖象信號中的低頻分量時就會相對的強調(diào)其高頻分量,從而加強了圖象中的邊緣及急劇變化部分,達到圖象尖銳化的目的。在對圖象進行特征提取之前一般要進行邊緣增強,然后再進行二值化處理以提取圖象特征。邊緣增強算法處理的目的是要突出圖象的邊緣。除邊緣以外圖象中的其它內(nèi)容經(jīng)過這一處理后通常一都被削弱甚至被完全去掉了。因此,處理后的圖象往往就不象原圖了。增強后邊界的亮度與原圖中邊緣周圍的亮度變化率成正比。盡管邊緣增強主要用在機器視覺上,但在別的方面也是有用的。例如,經(jīng)過邊緣增強處理后的邊緣信息可以疊加到原圖中,使原圖象得到銳化。邊緣增強還可以做為一種藝術(shù)處理的方法與圖像平滑化處理一樣,圖像尖銳化處理同樣也有空域和頻域兩種處理方法。在圖像平滑化處理中,主要的空域處理法是采用鄰域平均法,這種方法類似于積分過程,積分的結(jié)果使圖像的邊緣變得模糊了。積分既然使圖像細節(jié)變模糊,那么,微分就會產(chǎn)生相反的效應(yīng)。因此,微分法是圖像尖銳化方法之一。圖像的特效顯示百葉窗效果:將放在暫存圖形的數(shù)據(jù)分成若干組,然后依次從第一組到最后一組搬移,第一次每組各搬移第一條掃描線到可視位圖的相應(yīng)位置,第二次搬移到第二條掃描線,接著搬移第三條、第四條掃描線,如此下去。放大鏡當鼠標在圖片上移動的時候?qū)⒔?jīng)過的區(qū)域放大顯示,這就是放大鏡效果,在Delphi中可以實現(xiàn)圖片局部放大的函數(shù)很多,比如CopyRect和bitbit,都可以很方便地進行圖片的放大操作,放大鏡的原理就是將備份位圖中的和目標圖的相同位置的區(qū)域放大顯示在目標圖上,可以按照矩形方式或者橢圓方式顯示。四.Delphi圖像處理器各部分功能的開發(fā)和實現(xiàn)4.1窗體設(shè)計過程及其功能1.1圖像的操作及色彩功能開發(fā)圖47圖像的操作及色彩功能界面在可對圖像進行打開、保存、另存為及退出等基本功能的基礎(chǔ)上,添加了對圖像的操作和色彩處理的相關(guān)功能。操作功能可實現(xiàn)圖像的JPEG和BMP格式的相互轉(zhuǎn)換。色彩中包括對圖像的清除、反色、亮度對比度調(diào)整以及圖像的灰度圖顯示等功能。亮度對比度調(diào)整的窗體界面如圖所示:圖4-2亮度對比度調(diào)整界面
4.1.2圖像的幾何變換功能開發(fā)■一匐暮㈢W典J日邑知■主義2|明業(yè)設(shè)討*I叫明業(yè)論文-具||七Pr3C,l 知困1840圖4-3圖像的幾何變換功能界面幾何變換中包括圖像的平移、圖像的縮放、圖像的旋轉(zhuǎn)以及圖像的鏡像等功能,其中圖像的旋轉(zhuǎn)包括90度旋轉(zhuǎn)和任意角度旋轉(zhuǎn),圖像的鏡像包括圖像的水平鏡像和圖像的垂直鏡像。操作結(jié)果如圖所示:(1)對圖像進行60度角旋轉(zhuǎn)圖4-4旋轉(zhuǎn)位圖界面圖4-5圖像旋轉(zhuǎn)60度角(2)圖像的水平鏡像及垂直鏡像圖4-6圖像的水平鏡像圖4-7圖像的垂直鏡像4.1.2圖像顯示里相關(guān)功能的開發(fā)圖4-8圖像顯示界面顯示里的選項可在右邊圖像框里顯示出圖像的中值濾波、圖像的直方圖、圖像的平滑和銳化處理結(jié)果等4.1.3圖像放大鏡功能的開發(fā)圖像放大鏡HR1E3打開圖片文件圖像放大鏡HR1E3打開圖片文件co關(guān)閉此放大鏡Q)圖4-9圖像放大鏡界面用鼠標點擊想要放大的地方,右邊圖像框就會顯示出圖像的放大結(jié)果。4.2程序的實現(xiàn)4.2.1圖像灰度處理用方法三實現(xiàn)該功能根據(jù)YUV的顏色空間,求出Y分量,該方法是在“色彩“菜單中的“灰度圖”選項的單擊事件中實現(xiàn),代碼如下:procedureTfbrm1.GrayClick(Sender:lbbject);p:pbyteArray;x,y:Integer;Bmp:Tbitmap;Gray:integer;beginBmp:=Tbitmap.Create;Bmp.Assign(Form1.Image1.Picture.Bitmap);〃轉(zhuǎn)為真彩色處理Bmp.PixelFormat:=pf24bit;fory:=0toBmo.Height-1dobegin〃獲取每一行像素信息p:=Bmp.scanline[y];fory:=0toBmp.Width-1dobegin〃這里采用方法三//B|JY=0.299R+0.587G+0.114BGray:=Round(p[3*x+2]*0.3+p[3*x+l]*0.59+p[3*x]*0.11);〃由于是24為真彩色,故一個像素點為三個字節(jié)p[3*x+2]:=byte(Gray);p[3*x+l]:=byte(Gray);pr3*x]:=byte(Gray);//Gray的值必須在0-255之間end;end;Image2.Picture.Bitmap:=Bmp;Bmp.Free;end;2.2亮度、飽和度、RGB顏色調(diào)整ScanLine[row:integer]:PointerRow為位圖圖象的行號,返回的實一個指向位圖圖像數(shù)據(jù)的指針,通過這個函數(shù)可以獲取某一行的所有象素點的顏色值,方便快速。使用前必須知道在內(nèi)存中PixelFormat屬性對:scanline屬性的設(shè)計,不同的pixelformat屬性,代表不同的位圖格式,有不同的scanline方法。PcedureRGBtoHSL(R,G,B:Integer;varH,S,L:Integer);//hsl顏色空間到rgb空間的轉(zhuǎn)換RGB三分量的范圍是0?255H為0?360,S,L為0?100;過程:1將RGB單位化為。?1之間的值(通過除以255實現(xiàn))2計算出亮度值LUM,求出R,G,B中的最大值及最小值。相等轉(zhuǎn)3,不等轉(zhuǎn)4;3如果最大值等于最小值(表示R,G,B相等。則色調(diào)無意義置為0Hue=0;飽和度Sat=0;4最大值不等于最小值,若Lum<0.5則Sat:=(CMax-CMin)/(CMax+CMin).否則Sat:=(cmax-cmin)/(2-cmax-cmin);5計算Hue:根據(jù)最大值的不同分成3種情況計算。6調(diào)整Hue的值為正數(shù)。7將Hue,Sat,Lum轉(zhuǎn)換成相應(yīng)正數(shù)區(qū)間的值procedureHSLtoRGB(H,S,L:Integer;varR,G,B:Integer);//hsl顏色空間到rgb空間的轉(zhuǎn)換過程1:將變量賦初值:R=0,G=0,B=0;2:判斷H,S,L的值是否合理;3:按照H的值求出R,G,B的值。分成六種情況來求。H為0~60度2)H為60?120度3)H為120、180度4)H為180?240度5)H為240?300度6)H為300?360度3亮度調(diào)整:通過調(diào)用ScanLine:函數(shù)實現(xiàn);1:設(shè)置位圖象素顏色模式,獲取位圖第一行象素,計算出圖像每行有多少個象素2:逐行進行下列操作。1)對一行中的每個象素取出它的RGB顏色分量值。2)調(diào)用RGBtoHSL函數(shù)轉(zhuǎn)換值3)將每個象素的亮度值增加或減小。4)調(diào)用HSLtoRGB函數(shù)轉(zhuǎn)換,變?yōu)镽GB的值,保存。ProcedureTforml.handledick(Sender:Tobject);varp:PbyteArray;x,y:Integer;Bmp:Tbitmap;beginBmp:=Tbitmap.Create;Bmp.Assign(Imagel.Picture.Bitmap);//24位真彩色Bmp.PixelFormat:=pf24bit;randomize;1dofory:=0toBmp.Heightbegin1dop:=Bmp.scanline[y];forx:=0toBmp.Width-1dobegin〃每個像素點的R、G、B分量進行調(diào)節(jié)begin〃不能越界,限制在0?255p[x*3]:=Min(255,p[x*3]+20);p[x*3+l]:=Min(255,p[x*3+l]+20);p[x*3+2]:=Min(255,p[x*3+2]+20);end;end;end;Image2.Picture.Bitmap.Assign(Bmp);Bmp.Free;end;4飽和度調(diào)整通過調(diào)用ScanLine:函數(shù)實現(xiàn);1:設(shè)置位圖象素顏色模式,獲取位圖第一行象素,計算出圖像每行有多少個象素2:逐行進行下列操作。5)對一行中的每個象素取出它的RGB顏色分量值。6)調(diào)用RGBtoHSL函數(shù)轉(zhuǎn)換值7)將每個象素的飽和度值增加或減小。8)調(diào)用HSLtoRGB函數(shù)轉(zhuǎn)換,變?yōu)镽GB的值,保存。procedureTforml.Button2Click(Sender:Tobject);varx,y:integer;bitmap:Tbitmap;p:pbyteArray;begin〃創(chuàng)建一個位圖實例bitmap:=Tbitmap.Create;bitmap.Assign(Image1.Picture.Bitmap);bitmap.PixelFormat:pF24BIT;fory:=0toBitMap.Height-1dobeginP:=bitmap.ScanLine[y];forx:=0tobitmap.Width-1do〃藍色分量大于128的時候ifP[x*3]>128thenbeginP[x*3]:=P[x*3]+15;endelsebeginP[x*3]:=P[x*3]-15;end;〃如果綠色分量大于128ifP[x*3+l]>128thenbeginP[x*3+1]:=P[x*3+l]+15;endelsebeginP[x*3+1]:=P[x*3+l]-15;end;ifP[x*3+2]>128thenbegin〃紅色分量加15P[x*3+2]:=P[x*3+2]+15;endelse〃否則減15P[x*3+2]:=P[x*3+2]-15;end;Image2.Picture.Assign(bitmap);〃顯示位圖bitmap.Free;〃釋放資源end;5RGB顏色調(diào)整通過調(diào)用ScanLine:函數(shù)得到RGB分量,調(diào)整分量,可以獲得不同的顏色變化結(jié)果;過程1設(shè)置位圖象素顏色模式,2逐行進行下面的操作:1)獲取一行的象素值。2)對每個象素的顏色分量進行判斷:若紅色分量小于245則加10(或若綠色分量小于245則加10,或若藍色分量小于245則加10)procedureTmainform.hue(Sender:Tobjecta);varp:PbyteArray;x,y:Integer;Bmp:Tbitmap;beginBmp:=Tbitmap.Create;Bmp.Assign(Imagel.Picture.Bitmap);Bmp.PicelFormat:=pf24Bit;〃加載位圖設(shè)置為24位fory:=0toBmp.Height-1dobeginp:=Bmp.scanline[y];forx:=0toBmp.Width-1dobeginifp[x*3+2]<245thenbeginp[x*3+2]:=p[x*3+2]+10;〃紅色分量增加10end;ifp[x*3+2]>10thenbeginp[x*3+2]:=p[x*3+2]-10;〃紅色分量減少10end;〃如果綠色分量小于245,則綠色放量增加10ifp[x*3+l]<245thenbeginp[x*3+l]:=p[x*3+l]-10;end;〃如果藍色分量小于245,則藍色分量增加10ifp[x*3]<245thenbeginp[x*3]:=p[x*3]+10;end;〃如果藍色風涼大雨10,藍色分量減少10ifp[x*3]>10thenbeginp[x*3]:=p[x*3]-10;end;end;end;end;end;image2.Picture.Bitmap.Assign(Bmp);Bmp.Free;〃釋放位圖資源end;4.2.3圖像的幾何變換.用到的控件1菜單控件:TMainMenu;2.OpenPictureDialog3TImage.用到的事件及函數(shù)事件:1procedureopenpictureClick(Sender:TObject);打開圖片2procedureFormCreate(Sender:TObject);窗體初始化3procedureZoomlnClick(Sender:TObject);縮小圖像4procedureZoomOutClick(Sender:TObject);放大圖像5procedurexmirrorClick(Sender:TObject);水平鏡像6procedureymirrorClick(Sender:TObject);垂直鏡像7procedureRotateangleClick(Sender:TObject);旋轉(zhuǎn)8proceduremovedick(Sender:TObject);平移9procedureregainClick(Sender:TObject);還原函數(shù):1procedurebmp_rotate(Srcbmp,DestBmp:Tbitmap;angle:extended);旋轉(zhuǎn)函
,2procedureLeftRightMirror(bitmap:TBitmap);鏡像函數(shù),3procedureZoomlnOut(bitmap:TBitmap;m,n:extended);放大縮小函數(shù).圖像平移(1)原理設(shè)點用(即,加)進行平移后,移到P(x,y),其中*方向的平移量為y方向的平移量為△人那么,點a(司力的坐標為x=X。+Ax、y=+Ay(2)圖像平移實現(xiàn)過程過程:1創(chuàng)建兩個位圖圖像,存放平移前,后的圖。,2原圖放到變量TempBmp中。,3設(shè)置X,Y方向的偏移量。4獲取新圖象的每一行象素,對每一個象素執(zhí)行下面的步驟。5由新圖象上的點計算出對應(yīng)原圖象上的點。6計算出的點在原圖象內(nèi)則將原圖象點的值賦給新圖像。7否則計算出的點不在原圖象內(nèi),則該新圖點顏色設(shè)為白色。4.圖像旋轉(zhuǎn)(1)原理:使用旋轉(zhuǎn)變換矩陣,來計算點的坐標,使用scanline函數(shù)獲得位圖象素的內(nèi)存地址,通過把旋轉(zhuǎn)前某點的象素值賦給旋轉(zhuǎn)后對應(yīng)點以達到整幅圖的旋轉(zhuǎn)。cos一cos一[x*y,1]=[xy1]--sin。0(2)旋轉(zhuǎn)實現(xiàn)過程sin, 0-cos, 0[xcos。一ysin。 xsing+ycosd]0 11計算原圖及新圖的中心點坐標。2將新圖中心點坐標較大值作為循環(huán)次數(shù)。3對新圖的1/4大小進行下面的循環(huán)操作:1)計算點在極坐標系下的角度值,半徑值。, 2)求出新圖點相對于旋轉(zhuǎn)中心坐標。3)求出與新圖點相對應(yīng)原圖中點的坐標,獲取顏色值4)根據(jù)3)求出新圖中其他3/4區(qū)域內(nèi)相應(yīng)點的坐標,獲取顏色值。5)將3),4)中得到的顏色值賦給新圖中的相應(yīng)點。5.圖像鏡像(1)原理:使用圖像鏡像變換矩陣,來計算點的坐標。,1水平鏡像:x=fWidth-xO;y=yO;2垂直鏡像, x=xO;, y=fHeight-yO;?注:原圖點:P(xO,yO),新圖點:p'(x,y)圖像高度fHeight,圖像寬度fWidth;(2)圖像鏡像實現(xiàn)過程1創(chuàng)建位圖對象,存放鏡像前后的圖像,及中間值。2獲取原圖象中的象素地址,獲取象素顏色值。3根據(jù)鏡像后與鏡像前圖像的象素位置的變換關(guān)系,給新圖中象素賦顏色值。4.2.4圖像的灰度直方圖首先定義一個灰度級數(shù)組:publicGrayclass:array[0..255]ofinteger;〃灰度級數(shù)組繪制灰度直方圖,效果將在創(chuàng)建的GrayFROM上顯示,繪制用的畫筆的顏色是灰度從0到255漸變的,同時也需要求出了灰度級上的最大像素點數(shù)。由菜單上顯示中的”灰度直方圖”的單擊事件實現(xiàn),代碼如下:procedureTForml.N26C1ick(Sender:TObject);varp:PByteArray;x,y,i,j:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2022年新課標八年級上冊道德與法治《3.1 維護秩序 》聽課評課記錄
- 【2022年新課標】部編版七年級上冊道德與法治8.1 生命可以永恒嗎 聽課評課記錄
- 河北省七年級歷史下冊第三單元明清時期:統(tǒng)一多民族國家的鞏固與發(fā)展第20課清朝君主專制的強化聽課評課記錄(新人教版)
- 湘教版數(shù)學八年級上冊《小結(jié)練習》聽評課記錄2
- 湘教版數(shù)學九年級下冊4.1《隨機事件與可能性》聽評課記錄1
- 統(tǒng)編版七年級下冊道德與法治第四單元整體聽課評課記錄
- 《百家爭鳴》名師聽課評課記錄(新部編人教版七年級上冊歷史)
- 新人教版七年級地理上冊《4.1人口與人種(第1課時世界人口的增長世界人口的分布)》聽課評課記錄
- 場地使用安全協(xié)議書范本
- 北師大版道德與法治七年級上冊2.2《學習風向標》聽課評課記錄
- 2025版大學食堂冷鏈食材配送服務(wù)合同模板3篇
- 新能源發(fā)電項目合作開發(fā)協(xié)議
- 《中醫(yī)體重管理臨床指南》
- 2025年上半年潞安化工集團限公司高校畢業(yè)生招聘易考易錯模擬試題(共500題)試卷后附參考答案
- 2024年鐵嶺衛(wèi)生職業(yè)學院高職單招職業(yè)技能測驗歷年參考題庫(頻考版)含答案解析
- 甲基乙基酮2-丁酮MSDS危險化學品安全技術(shù)說明書
- 【大學】擠出管材(P64)ppt課件
- 大學物理課后習題答案北京郵電大學出版社
- 暗黑破壞神2所有綠色套裝(大圖)
- 火炬氣回收設(shè)施設(shè)計
- 豬場崗位責任制(共14頁)
評論
0/150
提交評論