數(shù)字圖形處理_第1頁(yè)
數(shù)字圖形處理_第2頁(yè)
數(shù)字圖形處理_第3頁(yè)
數(shù)字圖形處理_第4頁(yè)
數(shù)字圖形處理_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

摘 要數(shù)字圖像處理技術(shù)是近年來(lái)新興的一門(mén)技術(shù),隨著電腦的硬件配置的不斷升級(jí),數(shù)字圖像的實(shí)時(shí)進(jìn)行處理已經(jīng)成為可能了,再由于圖像處理的各種各樣的算法的出現(xiàn),變得其處理的速度越來(lái)的越快。這樣就能更好的為人民服務(wù)了。數(shù)字圖像處理是一種通過(guò)電腦采用一定的算法對(duì)圖形圖像進(jìn)行處理的技術(shù)。這種技術(shù)已經(jīng)在全球各個(gè)領(lǐng)域上都有了比較廣泛的應(yīng)用。圖像處理的信息量是相當(dāng)大的。對(duì)處理的速度要求也是特別高的。C#簡(jiǎn)易的編寫(xiě)環(huán)境使得程序員在編寫(xiě)圖像處理的算法變得簡(jiǎn)單和直觀。本文也會(huì)介紹C#語(yǔ)言的特點(diǎn),以及基于visual2010的圖像處理環(huán)境。介紹了如何利用C#及其圖像處理工具箱進(jìn)行數(shù)字的圖像處理,并通過(guò)一些例子來(lái)說(shuō)明C#圖像處理工具箱進(jìn)行圖像處理的各類方法。主要論述利用C#實(shí)現(xiàn)圖像的Filter(過(guò)濾)、Gamma校正、Brightness(亮度)、Contrast(對(duì)比度)、Grayscale(灰度)、Invert(底片效果)等圖像處理。關(guān)鍵字:C#、visualstudio2010、圖像處理、Filter(過(guò)濾)、Gamma校正、Brightness(亮度)、Contrast(對(duì)比度)、Grayscale(灰度)、Invert(底片效果)AbstractDigitalimageprocessingtechnologyisanemergingtechnologyinrecentyears,withthecomputer'shardwareconfigurationescalatingreal-timeprocessingofdigitalimageshasbecomepossible,andthenduetotheemergenceofavarietyofimageprocessingalgorithms,becomeitsincreasinglyfasterprocessingspeed.Sothatitcanbetterservethepeopleof.Digitalimageprocessingisacomputergraphicsalgorithmsusingcertainimageprocessingtechniquesadopted.Thistechnologyhashadarelativelywiderangeofapplicationsinvariousareasoftheglobe.Theimageprocessinginformationisconsiderable.Speedprocessingrequirementsareparticularlyhigh.C#simpleauthoringenvironmentallowstheprogrammertowritethealgorithmforimageprocessingbecomessimpleandintuitive.ThisarticlealsodescribesthecharacteristicsoftheC#language,aswellasvisualimage-basedprocessingenvironment2010.ItdescribeshowtouseC#andimageprocessingtoolboxfordigitalimageprocessing,andthroughanumberofexamplestoillustratethevarioustypesofmethodsC#imageprocessingtoolboxforimageprocessing.FocusesontheuseofC#achieveFilterimage(filter),GammaCorrection,Brightness(brightness),Contrast(contrast),Grayscale(gray),Invert(negativeeffect)andotherimageprocessing.Keywords:C#,visualstudio2010,imageprocessing 目錄1.緒論 51.1課題研究的目的以及意義 51.2國(guó)內(nèi)外研究現(xiàn)狀 62圖像處理原理與技術(shù) 72.1主要應(yīng)用 72.2C#在圖像處理中的應(yīng)用 73可行性與系統(tǒng)需求分析 83.1可行性分析 83.2系統(tǒng)功能需求分析 83.3系統(tǒng)界面需求分析 94概要設(shè)計(jì) 104.1系統(tǒng)流程 104.2功能框架結(jié)構(gòu) 124.3用戶界面設(shè)計(jì) 134.4小結(jié) 135詳細(xì)設(shè)計(jì) 145.1ColorFilter(色相) 145.2Gamma(曲線) 175.3Brightness(亮度) 195.4.Contrast(對(duì)比度) 215.5Grayscale(灰度) 245.6Invert(底片效果) 257總結(jié)與展望 277.1總結(jié) 277.2展望 27參考文獻(xiàn) 28第27頁(yè)1.緒論1.1課題研究的目的以及意義獲得的信息和圖形圖像的信息交流主要來(lái)源是經(jīng)過(guò)視覺(jué)去提取相關(guān)的信息。并且是最有效的視覺(jué)探知的方法,圖像的處理技術(shù)已成為各個(gè)領(lǐng)域得科研工作者研究和認(rèn)定的最有效的手段,其中包括:航天科學(xué),電子學(xué),醫(yī)學(xué)等。圖像處理技術(shù)是一項(xiàng)比較廣泛而又較實(shí)用的科學(xué)。而且它在心理學(xué),生物工程,金融,計(jì)算機(jī),學(xué)校等領(lǐng)域得到了非常廣泛的應(yīng)用。本文的意義在于發(fā)展自我收集的數(shù)據(jù)和調(diào)查能力熟悉的數(shù)字圖像處理的二進(jìn)制圖像處理技術(shù)和驗(yàn)證二值圖像處理。而且也能提高學(xué)生的自我解決問(wèn)題能力,以及給未來(lái)充電。電腦對(duì)圖像的噪聲,加強(qiáng),恢復(fù),剪切,特征提取等加工方法和技巧就是圖像處理技術(shù)。從1970左右圖像的處理技術(shù)的各項(xiàng)應(yīng)用以及逐漸需求的的增長(zhǎng)。促使人們提出了更加促進(jìn)本學(xué)科先進(jìn)的發(fā)展方向。重點(diǎn)是在現(xiàn)場(chǎng)及時(shí)理解和計(jì)算機(jī)視覺(jué)等方面,兩維圖象技術(shù)已經(jīng)用來(lái)開(kāi)發(fā)處理三維圖像以及解釋三維圖像了。近年來(lái),隨著計(jì)算機(jī)和數(shù)字圖像處理應(yīng)用越來(lái)越廣泛其它相關(guān)領(lǐng)域的快速發(fā)展,從空間探索到微觀研究(如癌細(xì)胞的檢測(cè)),從軍事部門(mén),以工業(yè)和農(nóng)業(yè)生產(chǎn),從科學(xué)教育,娛樂(lè)游戲(如大家來(lái)找茬)等。從研究的專業(yè)領(lǐng)域到科學(xué)和人機(jī)接口,通用的應(yīng)用工具,數(shù)字圖像處理??傮w而言,21世紀(jì)的數(shù)字圖像處理往往純數(shù)字,并希望在高品質(zhì)的方向發(fā)展。品質(zhì)的加強(qiáng)包含:多媒體化,快速,三維立體,高分辨率,自動(dòng)化和標(biāo)準(zhǔn)化。在此次畢業(yè)設(shè)計(jì)中,我主要研究的是利用C#編程出數(shù)字圖像處理系統(tǒng),完成一些經(jīng)常用到的圖像處理功能,掌握BMP位圖文件格式。包括圖像的打開(kāi),顯示和保存以及實(shí)現(xiàn)圖像的Filter(過(guò)濾)、Gamma校正、Brightness(亮度)、Contrast(對(duì)比度)、Grayscale(灰度)、Invert(底片效果)等圖像處理查閱整理有關(guān)二值圖像處理技術(shù)的資料,掌握BMP位圖文件格式以及基本的數(shù)字圖像操作方法↓查閱整理有關(guān)二值圖像處理技術(shù)的資料,掌握BMP位圖文件格式以及基本的數(shù)字圖像操作方法↓畫(huà)出系統(tǒng)軟件框圖↓學(xué)習(xí)用C#編程的基本知識(shí)↓編程實(shí)現(xiàn)圖像的Filter(過(guò)濾)、Gamma校正、Brightness(亮度)、Contrast(對(duì)比度)、Grayscale(灰度)、Invert(底片效果)等圖像處理。↓調(diào)試程序,實(shí)現(xiàn)數(shù)字圖像處理系統(tǒng)的各模塊功能人們得到信息的主要來(lái)源都源自于圖像。因而,圖像的處理技術(shù)的應(yīng)用肯定會(huì)牽扯到人們生活里的方方面面。在圖像處理領(lǐng)域的應(yīng)用人類活動(dòng)的范圍不斷擴(kuò)大也將不斷擴(kuò)大,已然成為國(guó)家安全,經(jīng)濟(jì)發(fā)展和社會(huì)穩(wěn)定越來(lái)越重要的角色,在國(guó)民經(jīng)濟(jì)中的作用也不容小覷。1.2國(guó)內(nèi)外研究現(xiàn)狀圖像的處理技術(shù)早期是出現(xiàn)在1950年。在那會(huì)計(jì)算機(jī)的平均水平已經(jīng)到了一個(gè)非??捎^的程度了。然后人們開(kāi)始用計(jì)算機(jī)做一些圖形圖像的處理。圖像處理大概是在1960年左右才正式創(chuàng)辦了這個(gè)學(xué)科。最早時(shí)候圖形圖像技術(shù)的主要任務(wù)是為了提高圖片的效果。它是僅僅是以人來(lái)做為一個(gè)參考的對(duì)象用以提高人的視覺(jué)整體效果。圖像處理就是把低質(zhì)量的圖片輸入進(jìn)去,進(jìn)行還原高質(zhì)量的通常它是使用像圖像的復(fù)原,編碼,增強(qiáng)和壓縮等處理。第一次的試驗(yàn)成功是在美國(guó)的噴氣式推進(jìn)實(shí)驗(yàn)室里面。他們當(dāng)時(shí)通過(guò)太空探測(cè)儀拍攝的照片進(jìn)行復(fù)原等圖像處理技術(shù)進(jìn)行處理成功的繪制出了月球表面的地圖。此后又通過(guò)外太空的探測(cè)器發(fā)回的圖片進(jìn)行圖像處理成功的恢復(fù)出了月球表面的彩色地圖,為人類進(jìn)行登月做出了偉大的貢獻(xiàn)。同時(shí)加快了圖像圖形處理技術(shù)這么學(xué)科的產(chǎn)生。在之后的航天領(lǐng)域里。如研究和探索金星,木星等外太空,數(shù)字圖像處理技術(shù)也發(fā)揮著非常重要的作用。在20世紀(jì)70年代一個(gè)來(lái)自英國(guó)的工程師Housefild在EMI公司發(fā)明了X射線的計(jì)算機(jī)斷層的映射裝置診斷顱骨情況,也就是我們常說(shuō)的CT。第二年在此前的技術(shù)的基礎(chǔ)下發(fā)明了全身的為單位的CT儀。并1990年代獲得非損害性診斷技術(shù)的諾貝爾獎(jiǎng)。同時(shí)表明了它為人類做出了偉大而又跨越時(shí)代的貢獻(xiàn)。而且圖形圖像的處理在很多的地方受到了關(guān)注,而且取得了一些很明顯的成果,這些地方包括:外太空探測(cè),生物工程,工業(yè)檢測(cè),智能視覺(jué),國(guó)家安全,軍事作戰(zhàn),教育領(lǐng)域??偟膩?lái)說(shuō)圖像處理已成為一個(gè)非常重要的科學(xué),擁有光明的前景。在數(shù)字圖像不斷的發(fā)展。許多國(guó)家里像一些發(fā)達(dá)國(guó)家更應(yīng)該投入人力和物力到研究里面去,使得人類將取得一大批重要的研究成果。1978年由麻省理工提出的圖像處理尖端領(lǐng)域,在后十年一直引導(dǎo)著世界圖像處理技術(shù)。圖形圖像的處理技術(shù)在教育的領(lǐng)域里也取得了不小的成果。但是本身就是一個(gè)非常困難理解學(xué)科。因此它需要科學(xué)家投入更多的資源去探索和開(kāi)發(fā)相關(guān)技術(shù),促進(jìn)計(jì)算機(jī)科學(xué)在視覺(jué)領(lǐng)域得發(fā)展。

2圖像處理原理與技術(shù)2.1主要應(yīng)用主要應(yīng)用包括在醫(yī)學(xué),航天,金融,教育,軍事等相關(guān)技術(shù)都于圖像處理技術(shù)的發(fā)展息息相關(guān)。這些年來(lái),計(jì)算機(jī)的視覺(jué)識(shí)別技術(shù)和圖形圖像理解的技術(shù)發(fā)展的非常的迅速。這是圖形圖像的處理技術(shù)的另外的原因,直接供人觀看(如醫(yī)學(xué)圖像為醫(yī)生監(jiān)視診斷),而且計(jì)算機(jī)視力不佳的進(jìn)一步發(fā)展相關(guān)的應(yīng)用,如自動(dòng)行駛的車輛,智能眼鏡。以下是一些典型的應(yīng)用實(shí)例只是一個(gè)列表,并且實(shí)際應(yīng)用更廣。(1)生物醫(yī)學(xué)中的應(yīng)用包括顯微圖像處理;分析及顯示DNA螺旋式結(jié)構(gòu);對(duì)血球的紅,白細(xì)胞分析及記數(shù),以確定腫瘤細(xì)胞;染色體分析,等等。(2)遙感應(yīng)用空間軍事偵察,導(dǎo)航和指揮等應(yīng)用;分析衛(wèi)星及云層;地勢(shì)的相關(guān)狀況以及對(duì)大地客觀測(cè)量;(3)工業(yè)應(yīng)用CAD和CAM技術(shù)加工,零部件制造,服裝,印染等行業(yè);(4)在公安領(lǐng)域的軍事應(yīng)用克魯斯地形識(shí)別;AFIS;識(shí)別手寫(xiě)識(shí)別,人像,密封;過(guò)期的恢復(fù)文本文件;無(wú)盒檢查容器等。(5)其它應(yīng)用智能電視;可視電話。2.2C#在圖像處理中的應(yīng)用它在圖形圖像的處理里面主要功能包含轉(zhuǎn)換彩色圖像,灰度圖形圖象的處理和圖形的圖象增亮過(guò)程。為圖像處理部中的程序代碼被包括在一個(gè)特殊類別內(nèi)篩,并且在調(diào)取類的靜態(tài)成員函數(shù)可以達(dá)到適當(dāng)?shù)膱D像處理效果。在圖形圖像的處理過(guò)程中我們需要圖中的每個(gè)像素點(diǎn)進(jìn)行依次處理。正如我們所知的圖像是由每一個(gè)像素點(diǎn)構(gòu)成的,處理好了每一個(gè)像素點(diǎn)也就處理好了整張圖片了。所以在處理圖像的過(guò)程里,我們只需要考慮每一個(gè)像素點(diǎn)的問(wèn)題,并不需要考慮一張圖所有像素點(diǎn)在這個(gè)過(guò)程中,我們只需要處理與每個(gè)像素點(diǎn)然后慢慢的遍布整張圖,所以相對(duì)來(lái)說(shuō)更加的簡(jiǎn)單。BitmapData類是不能直接提供GDI+訪問(wèn)內(nèi)部的圖像數(shù)據(jù)的方法的?,F(xiàn)在只能通過(guò)指針去調(diào)取圖形圖像內(nèi)部的信息。那么就要必須的使用關(guān)鍵字來(lái)指示圖形圖像的數(shù)據(jù)的存取功能不安全一個(gè)模塊。而且這個(gè)過(guò)程里我們也用打開(kāi)和保存按鈕以便我們辛苦的勞動(dòng)成果不會(huì)白白的浪費(fèi)了。3可行性與系統(tǒng)需求分析主要圖像的主要操作:打開(kāi),關(guān)閉,保存;圖像的基本處理:Filter(過(guò)濾)、Gamma(校正)、Brightness(亮度)、Contrast(對(duì)比度)、Grayscale(灰度)、Invert(底片效果)3.1可行性分析經(jīng)濟(jì)可行性分析:經(jīng)濟(jì)可行性分析主要是估計(jì)值,并且可以得到開(kāi)發(fā)成本效益評(píng)估,擬以確定系統(tǒng)是否值得投資和開(kāi)發(fā),研制。在開(kāi)發(fā)成本方面的估計(jì),由于這種軟件的大小由較小的開(kāi)發(fā)成本制定不高,個(gè)人開(kāi)發(fā)者所能承受的。(b)技術(shù)可行性分析:技術(shù)可行性分析的主要目的是未來(lái)對(duì)系統(tǒng)的功能性,性能性和一些規(guī)則的限制條件的分析,并且在以及擁有的資源下考慮是不是能實(shí)現(xiàn)相關(guān)的功能。(c)用戶使用可行性分析:隨著計(jì)算機(jī)的普及,大學(xué)一般使用辦公室的電腦,基本上每個(gè)人都在計(jì)算機(jī)的基本操作。該系統(tǒng)的操作非常的簡(jiǎn)便,界面也非常的簡(jiǎn)潔,良好適用性。這樣來(lái)說(shuō),所以操作是可行的。因?yàn)槲⑿陀?jì)算機(jī)的技術(shù)發(fā)展,圖像的處理技術(shù)也越來(lái)越接近生活了?,F(xiàn)如今的圖像處理系統(tǒng)以及發(fā)展的非常的成熟了,在已經(jīng)在市場(chǎng)的多數(shù)軟件都相對(duì)來(lái)說(shuō)很成型了??偨Y(jié)匯編,后系統(tǒng)已不是一系列可行性分析是多了,我們已經(jīng)發(fā)現(xiàn),即使已經(jīng)制定并在成熟和完整的使用,使系統(tǒng)可以立即啟動(dòng)開(kāi)發(fā)3.2系統(tǒng)功能需求分析本系統(tǒng)主要考慮以下幾個(gè)功能:Filter(過(guò)濾)、Gamma(校正)、Brightness(亮度)、Contrast(對(duì)比度)、Grayscale(灰度)、Invert(底片效果)。Gamma(曲線):Gamma(曲線)從CRT(監(jiān)視器/電視)的響應(yīng)曲線,就是亮度和輸進(jìn)來(lái)的電壓它們之間的非線性關(guān)系。Gamma(曲線)校正補(bǔ)償現(xiàn)有彩色顯示的差別,因而在不同的設(shè)備里圖像的顯示效果是非常接近的,幾乎可以達(dá)到相同。Brightness(亮度):從中等一系列非常暗淡(暗)到非常亮(亮)之間的顏色不顯示顏色相近的顏色范圍。這個(gè)區(qū)間范圍內(nèi)是在-255到255之間。Grayscale(灰度):Grayscale(灰度):灰色與黑色調(diào)表示物體。在每個(gè)像素點(diǎn)都有從0到100的灰度值。通常生成的圖像黑白或灰度掃描儀顯示為灰色。Invert(底片效果):減去各顏色分量的由255例如,紅色為當(dāng)前像素00的值,一般設(shè)定值為II=255-0。3.3系統(tǒng)界面需求分析一個(gè)軟件好不好用主要是看他是否你讓用戶能更加容易的和有效的使用該系統(tǒng)的關(guān)鍵。從現(xiàn)在的市場(chǎng)需求來(lái)看,一個(gè)好的友好型軟件可以在市場(chǎng)具有更好的競(jìng)爭(zhēng)力。因此我們不僅需要在核心技術(shù)上有過(guò)硬的技術(shù),還必須在用戶體驗(yàn)上投入精力。本系統(tǒng)采用大眾界面的開(kāi)發(fā),更加簡(jiǎn)潔的界面已經(jīng)友好的操作體驗(yàn),美觀得體的要求。界面的設(shè)計(jì)一般情況下都是按照下面的基本原則:一致的用戶界面風(fēng)格。保證界面和產(chǎn)品他們倆的相同性。對(duì)于一個(gè)列表框,在點(diǎn)擊該條的條目在點(diǎn)擊該條目下面的字列表?xiàng)l目具有相同的事件。接口布局是非常重要的。首先他需要從上到下從左到右的進(jìn)行閱讀,因?yàn)檫@些要求都是根據(jù)人類的習(xí)慣進(jìn)行編排的。信息和標(biāo)簽的寫(xiě)法應(yīng)該是合適的。顯示器上的各類文本的信息是使用者可以得到信息的最主要的來(lái)源。要是文辭沒(méi)有寫(xiě)好,這樣用戶將很難去理解本意所以文辭非常重要。所以在寫(xiě)說(shuō)辭時(shí)一定要注意不要去寫(xiě)那種縮寫(xiě),這樣很容易讓用戶理解不清楚造成用戶體驗(yàn)非常差。使用適當(dāng)?shù)念伾?。使用顏色要?jǐn)慎。如果使用的話,還使用了指示器。問(wèn)題在于,一些用戶可能色盲。對(duì)于大部分來(lái)說(shuō)顏色不是阻礙他們理解信息的的障礙石,但是作為一個(gè)進(jìn)入市場(chǎng)的軟件同樣需要考慮部分小群體,所以在軟件字體顏色上,我們需要做到全面。所以我們必須在做一些額外的工作使得軟件的可使用性達(dá)到最大化。

4概要設(shè)計(jì)4.1系統(tǒng)流程圖形圖像的處理系統(tǒng)分成三個(gè)部分。一開(kāi)始是圖形圖像的信息收集,其次是圖形圖像的分析,最后是圖形圖像的處理并進(jìn)行界面表達(dá)。圖像信息收集階段就是對(duì)圖片進(jìn)行掃描收集好每一個(gè)像素點(diǎn)然后進(jìn)行保存好。然后在對(duì)每一個(gè)像素點(diǎn)進(jìn)行進(jìn)行分析判斷它的值并給與標(biāo)識(shí),最后通過(guò)相應(yīng)的算法進(jìn)行進(jìn)行相應(yīng)的圖像處理。通過(guò)在每個(gè)目標(biāo)圖像和之前圖像的像素關(guān)系,進(jìn)行抽象的符號(hào)運(yùn)算,理解和解釋原始圖像內(nèi)容來(lái)把握客觀場(chǎng)景的描述,研究的主要階段的性質(zhì)圖像理解,客觀世界提供信息,引導(dǎo)和調(diào)節(jié)行為,這樣的過(guò)程和人類思維是及其相識(shí)的。由于時(shí)間及能力的原因,這次系統(tǒng)設(shè)計(jì)只能實(shí)現(xiàn)以下幾個(gè)功能:完成了圖像處理中的打開(kāi)、關(guān)閉、保存、Filter(過(guò)濾)、Gamma校正、Brightness(亮度)、Contrast(對(duì)比度)、Grayscale(灰度)、Invert(底片效果)等處理;圖4-1總體框架流程圖這次的設(shè)計(jì)是建立在圖形圖像的分析的過(guò)程:運(yùn)行程序,首先選擇位圖文件路徑,選擇圖像文件,再對(duì)選取的位圖文件進(jìn)行圖像處理,F(xiàn)ilter(過(guò)濾)、Gamma校正、Brightness(亮度)、Contrast(對(duì)比度)、Grayscale(灰度)、Invert(底片效果)等處理。 4-2打開(kāi)圖像處理流程4-3圖像保存處理流程4.2功能框架結(jié)構(gòu)本系統(tǒng)采用C#語(yǔ)言在VC6.0平臺(tái)下實(shí)現(xiàn)。整個(gè)系統(tǒng)的功能采用菜單式法,也就是系統(tǒng)進(jìn)入到MainDlg時(shí)用戶可以通過(guò)系統(tǒng)Menu來(lái)進(jìn)行一系列的操作,下面簡(jiǎn)述一下系統(tǒng)的功能。圖像基本處理:這個(gè)功能就是將選取的圖像進(jìn)行處理,將選取的BMP格式的圖像分別進(jìn)行各種功能的處理,也可以對(duì)圖片同時(shí)進(jìn)行各種功能的處理,最后將圖像保存為BMP格式。退出系統(tǒng):推出所有服務(wù)和關(guān)閉所有相關(guān)進(jìn)程。文件的功能模塊分為打開(kāi)、保存兩個(gè)功能。打開(kāi):為用戶提供瀏覽BMP圖片的功能。保存:用戶截圖下來(lái)的圖像會(huì)在MainDlg界面中顯示出來(lái),用戶可以通過(guò)這個(gè)功能來(lái)將處理后的圖像保存下來(lái)。4-4系統(tǒng)設(shè)計(jì)總體框架34.3用戶界面設(shè)計(jì)系統(tǒng)界面設(shè)計(jì)如圖4-5所示:圖4-5系統(tǒng)界面4.4小結(jié)本節(jié)主要是對(duì)系統(tǒng)的概要設(shè)計(jì),從剛開(kāi)始的完全沒(méi)有頭緒到最后的慢慢有了思緒,并且在老師和同學(xué)的幫助下對(duì)系統(tǒng)的流程和步驟更加的清晰,然后在畫(huà)流程圖也就非常順利了。這有助于我之后的代碼實(shí)現(xiàn),使得編寫(xiě)程序不會(huì)那么的無(wú)頭無(wú)需了,加快了系統(tǒng)設(shè)計(jì)的進(jìn)程,其實(shí)這程序最主要也是最難的就是一些圖像處理的算法,以及對(duì)圖像的像素點(diǎn)的遍歷和獲取,做好了這些事也就把這個(gè)系統(tǒng)最主要的地方解決了。最后謝謝老師和同學(xué)們的幫助。

5詳細(xì)設(shè)計(jì)負(fù)責(zé)圖像處理的ImageHandler類其中有以下功能,比如圖像的存儲(chǔ)、圖像間的關(guān)聯(lián)操作等。功能包括:獲取圖片的信息、Filter(過(guò)濾)、Gamma校正、Brightness(亮度)、Contrast(對(duì)比度)、Grayscale(灰度)、Invert(底片效果)。Paint主要是使用AutoScoolPosition屬性來(lái)發(fā)現(xiàn)滾動(dòng)的位置,然后使用AutoScrollMinSize屬性進(jìn)行設(shè)置。5.1ColorFilter(色相)關(guān)于色相的說(shuō)明: 從光感,色相的不一樣是因?yàn)楣獠ㄩL(zhǎng)的長(zhǎng)度不一樣。彩色的濾光片是對(duì)色彩的光譜吸收類別進(jìn)行分類:短,長(zhǎng),混合等波長(zhǎng);然后合并成切片形狀,在單顏色或者彩色的顏色之間變換。這個(gè)相對(duì)簡(jiǎn)單的,只要減小每個(gè)像素的值就可以達(dá)到了。也使圖片255至零下兩種顏色。例如,藍(lán)相,在保證藍(lán)色值的不改變的狀況下,而綠色和紫色分別以減去255。圖5-1導(dǎo)入原圖

圖5-2RedFilter結(jié)果圖圖5-3GreenFilter結(jié)果圖

圖5-4BlueFilter結(jié)果圖Code:///設(shè)置色相publicvoidSetColorFilter(ColorFilterTypescolorFilterType){Bitmaptemp=(Bitmap)_currentBitmap;Bitmapbmap=(Bitmap)temp.Clone();Colorc;for(inti=0;i<bmap.Width;i++){for(intj=0;j<bmap.Height;j++){c=bmap.GetPixel(i,j);intnPixelR=0;intnPixelG=0;intnPixelB=0;if(colorFilterType==ColorFilterTypes.Red){nPixelR=c.R;nPixelG=c.G-255;nPixelB=c.B-255;}elseif(colorFilterType==ColorFilterTypes.Green){nPixelR=c.R-255;nPixelG=c.G;nPixelB=c.B-255;}elseif(colorFilterType==ColorFilterTypes.Blue){nPixelR=c.R-255;nPixelG=c.G-255;nPixelB=c.B;}nPixelR=Math.Max(nPixelR,0);nPixelR=Math.Min(255,nPixelR);nPixelG=Math.Max(nPixelG,0);nPixelG=Math.Min(255,nPixelG);nPixelB=Math.Max(nPixelB,0);nPixelB=Math.Min(255,nPixelB);bmap.SetPixel(i,j,Color.FromArgb((byte)nPixelR, (byte)nPixelG,(byte)nPixelB));}}_currentBitmap=(Bitmap)bmap.Clone();}5.2Gamma(曲線) Gamma(曲線)從CRT(監(jiān)視器/電視)的響應(yīng)曲線,就是亮度和輸進(jìn)來(lái)的電壓它們之間的非線性關(guān)系。Gamma(曲線)校正補(bǔ)償現(xiàn)有彩色顯示的差別,從而使在不同的顯示器的圖像顯示相同的效果的不同的輸出設(shè)備。圖5-5原圖

圖5-6Gamma校正結(jié)果圖Code:///曲線publicvoidSetGamma(doublered,doublegreen,doubleblue){Bitmaptemp=(Bitmap)_currentBitmap;Bitmapbmap=(Bitmap)temp.Clone();Colorc;byte[]redGamma=CreateGammaArray(red);byte[]greenGamma=CreateGammaArray(green);byte[]blueGamma=CreateGammaArray(blue);for(inti=0;i<bmap.Width;i++){for(intj=0;j<bmap.Height;j++){c=bmap.GetPixel(i,j);bmap.SetPixel(i,j,Color.FromArgb(redGamma[c.R], greenGamma[c.G],blueGamma[c.B]));}}_currentBitmap=(Bitmap)bmap.Clone();}///獲取曲線數(shù)組///<paramname="color">色彩</param>///<returns>數(shù)組</returns>privatebyte[]CreateGammaArray(doublecolor){byte[]gammaArray=newbyte[256];for(inti=0;i<256;++i){gammaArray[i]=(byte)Math.Min(255,(int)((255.0* Math.Pow(i/255.0,1.0/color))+0.5));}returngammaArray;}5.3Brightness(亮度)Brightness(亮度):是顏色區(qū)間。表示的是它從昏暗到亮的沒(méi)有色彩的顏色之間的相似處。取值的范圍在-255到255之間。

圖5-7原圖

圖5-8Brightness(亮度)結(jié)果圖Code///<summary>///設(shè)置亮度///</summary>///<paramname="brightness">亮度,-255到+255之間的數(shù)值</param>publicvoidSetBrightness(intbrightness){Bitmaptemp=(Bitmap)_currentBitmap;Bitmapbmap=(Bitmap)temp.Clone();if(brightness<-255)brightness=-255;if(brightness>255)brightness=255;Colorc;for(inti=0;i<bmap.Width;i++){for(intj=0;j<bmap.Height;j++){c=bmap.GetPixel(i,j);intcR=c.R+brightness;intcG=c.G+brightness;intcB=c.B+brightness;if(cR<0)cR=1;if(cR>255)cR=255;if(cG<0)cG=1;if(cG>255)cG=255;if(cB<0)cB=1;if(cB>255)cB=255;bmap.SetPixel(i,j,Color.FromArgb((byte)cR,(byte)cG, (byte)cB));}}_currentBitmap=(Bitmap)bmap.Clone();}5.4.Contrast(對(duì)比度)對(duì)比度就是指顯示器上面同一個(gè)點(diǎn)鐘最亮與最暗的亮度比值。卓越的品質(zhì)和出色的液晶顯示面板背光亮度可以同時(shí)合理的全彩色明亮,清晰的圖像來(lái)獲得。圖5-9原圖圖5-10Contrast(對(duì)比度)結(jié)果圖Code:///<summary>///設(shè)置對(duì)比度///</summary>///<paramname="contrast">對(duì)比度,-100到+100之間的數(shù)值 //</param>publicvoidSetContrast(doublecontrast){Bitmaptemp=(Bitmap)_currentBitmap;Bitmapbmap=(Bitmap)temp.Clone();if(contrast<-100)contrast=-100;if(contrast>100)contrast=100;contrast=(100.0+contrast)/100.0;contrast*=contrast;Colorc;for(inti=0;i<bmap.Width;i++){for(intj=0;j<bmap.Height;j++){c=bmap.GetPixel(i,j);doublepR=c.R/255.0;pR-=0.5;pR*=contrast;pR+=0.5;pR*=255;if(pR<0)pR=0;if(pR>255)pR=255;doublepG=c.G/255.0;pG-=0.5;pG*=contrast;pG+=0.5;pG*=255;if(pG<0)pG=0;if(pG>255)pG=255;doublepB=c.B/255.0;pB-=0.5;pB*=contrast;pB+=0.5;pB*=255;if(pB<0)pB=0;if(pB>255)pB=255;bmap.SetPixel(i,j,Color.FromArgb((byte)pR, (byte)pG,(byte)pB));}}_currentBitmap=(Bitmap)bmap.Clone();}5.5Grayscale(灰度)Grayscale(灰度):灰色與黑色調(diào)表示物體。在每個(gè)像素點(diǎn)都有從0到100的灰度值。通常生成的圖像黑白或灰度掃描儀顯示為灰色。圖5-11原圖圖5-12Grayscale(灰度)結(jié)果圖Code:///<summary>///設(shè)置灰度///</summary>publicvoidSetGrayscale(){Bitmaptemp=(Bitmap)_currentBitmap;Bitmapbmap=(Bitmap)temp.Clone();Colorc;for(inti=0;i<bmap.Width;i++){for(intj=0;j<bmap.Height;j++){c=bmap.GetPixel(i,j);bytegray=(byte)(.299*c.R+.587*c.G+.114*c.B);bmap.SetPixel(i,j,Color.Fr

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論