數(shù)字圖像處理課程設計 彩色圖像的平衡運算_第1頁
數(shù)字圖像處理課程設計 彩色圖像的平衡運算_第2頁
數(shù)字圖像處理課程設計 彩色圖像的平衡運算_第3頁
數(shù)字圖像處理課程設計 彩色圖像的平衡運算_第4頁
數(shù)字圖像處理課程設計 彩色圖像的平衡運算_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、數(shù)字圖像處理課程設計摘 要 Matlab是Math Work公司于1982年推出的一套高性能的數(shù)字計算和可視化軟件,它集數(shù)字分析、矩陣運算、信號處理和圖形顯示于一體,擁有界面簡潔。它的這些特點使其應用的越來越廣泛,這對于數(shù)字圖像處理也是特別方便的。數(shù)字圖像處理與分析是研究計算機對數(shù)字圖像的處理,已達到改善視覺效果,便于圖像分析和識別的目的。他是集計算機科學、電子學、信息論、控制論、光學、數(shù)學、物理學、心理學和生理學等學科的一門綜合性邊緣學科。隨著計算機科學的迅猛發(fā)展,以及與近代發(fā)展的新理論,如小波分析、馬爾科夫隨機場、分形學、數(shù)學形態(tài)學,人工智能和人工神經(jīng)網(wǎng)絡等的結合,計算機圖像處理與分析近年

2、來獲得了長足的發(fā)展,呈現(xiàn)出強大的生命力。數(shù)字圖像的平衡運算在很多方面可以對圖像進行增強,比如加法運算可以使圖像變得明亮,細節(jié)部分變得清晰,減法使圖像的邊緣變得模糊,使圖像銳化等?;诖鷶?shù)運算對圖像的處理是一種方便簡潔的處理方法,再有Matlab軟件的輔助使過程會變得更簡單。關鍵詞:Matlab;圖像處理;平衡運算目 錄1課程設計目的12課程設計要求23 Matlab相關知識介紹33.1 MATLAB簡介33.2 MATLAB在圖像處理中的應用43.3圖像處理概念44相關知識55圖像平衡運算設計65.1圖像白平衡圖的運算灰度世界法65.2 基于動態(tài)閾值的自動白平衡法9結論15參考文獻16161課

3、程設計目的 (1)學習并了解 Matlab軟件的實用,并了解Matlab在數(shù)字圖像中的應用。學會編寫Matlab程序并調試、運行。 (2)了解圖像的算術運算在數(shù)字圖像處理中的初步應用。 (3)體會圖像平衡運算處理的過程和處理前后圖像的變化。2課程設計要求(1)掌握課程設計的相關知識、概念清晰。(2)程序設計合理、能夠正確運行。(3)熟悉和掌握Matlab軟件。(4)提高分析能力,解決問題的能力,鞏固數(shù)字圖像處理系統(tǒng)中的基本原理與方法。 (5)了解Matlab軟件的實用,在Matlab環(huán)境下學會用軟件對圖像進行處理,并獲得預期的結果。(6)了解圖像平衡運算增強處理的原理和作用。(7)對比處理后的

4、圖像與原圖像,得出處理后的結論。3 Matlab相關知識介紹3.1 MATLAB簡介 MATLAB的名稱源自Matrix Laboratory,它是一種科學計算軟件,專門以矩陣的形式處理數(shù)據(jù)。MATLAB將高性能的數(shù)值計算和可視化集成在一起,并提供了大量的內置函數(shù),從而被廣泛地應用于科學計算、控制系統(tǒng)、信息處理等領域的分析、仿真和設計工作,而且利用MATLAB產(chǎn)品的開放式結構,可以非常容易地對MATLAB的功能進行擴充,從而在不斷深化對問題認識的同時,不斷完善MATLAB產(chǎn)品以提高產(chǎn)品自身的競爭能力。 目前MATLAB產(chǎn)品族可以用來進行: 數(shù)值分析 數(shù)值和符號計算 工程與科學繪圖 控制系統(tǒng)的設

5、計與仿真 數(shù)字圖像處理 數(shù)字信號處理 通訊系統(tǒng)設計與仿真 財務與金融工程 MATLAB是MATLAB產(chǎn)品家族的基礎,它提供了基本的數(shù)學算法,例如矩陣運算、數(shù)值分析算法,MATLAB集成了2D和3D圖形功能,以完成相應數(shù)值可視化的工作,并且提供了一種交互式的高級編程語言M語言,利用M語言可以通過編寫腳本或者函數(shù)文件實現(xiàn)用戶自己的算法。 MATLAB Compiler是一種編譯工具,它能夠將那些利用MATLAB提供的編程語言M語言編寫的函數(shù)文件編譯生成為函數(shù)庫、可執(zhí)行文件、COM組件等等,這樣就可以擴展MATLAB功能,使MATLAB能夠同其他高級編程語言例如C/C+語言進行混合應用,取長補短,以

6、提高程序的運行效率,豐富程序開發(fā)的手段。 利用M語言還開發(fā)了相應的MATLAB專業(yè)工具箱函數(shù)供用戶直接使用。這些工具箱應用的算法是開放的可擴展的,用戶不僅可以查看其中的算法,還可以針對一些算法進行修改,甚至允許開發(fā)自己的算法擴充工具箱的功能。目前MATLAB產(chǎn)品的工具箱有四十多個,分別涵蓋了數(shù)據(jù)采集、科學計算、控制系統(tǒng)設計與分析、數(shù)字圖像處理、金融財務分析以及生物遺傳工程等專業(yè)領域。3.2 MATLAB在圖像處理中的應用 MATLAB7.0提供了20類圖像處理函數(shù),涵蓋了圖像處理包括近期研究成果在內的幾乎所有的技術方法,是學習和研究圖像處理的人員難得的寶貴資料和加工工具箱。這些函數(shù)按功能可分為

7、圖像顯示、圖像文件IO、圖像算術運算、幾何變換、圖像登記、像素值與統(tǒng)計、圖像分析、圖像增強、線性濾波、線性二元濾波設計、圖像去模糊、圖像變換、鄰域與塊處理、灰度與二值圖像的形態(tài)學運算、結構元素創(chuàng)建與處理、基于邊緣的處理、色彩映射表操作、色彩空間變換及圖像類型與類型轉換 Matlab數(shù)字圖像處理工具箱函數(shù)包括以下幾類:(1)圖像顯示函數(shù);(2)圖像文件輸入、輸出函數(shù);(3)圖像幾何操作函數(shù);(4)圖像像素值及統(tǒng)計函數(shù);(5)圖像分析函數(shù);(6)圖像增強函數(shù);(7)線性濾波函數(shù);(8)二維線性濾波器設計函數(shù);(9)圖像變換函數(shù);(10)圖像鄰域及塊操作函數(shù);(11)二值圖像操作函數(shù);(12)基于區(qū)

8、域的圖像處理函數(shù);(13)顏色圖操作函數(shù);(14)顏色空間轉換函數(shù);(15)圖像類型和類型轉換函數(shù)。3.3圖像處理概念圖像處理并不僅限于對圖像進行增強、復原和編碼,還要對同鄉(xiāng)進行分析,圖像分析旨在對圖像進行描述,即用一組數(shù)或符號表征圖像中目標區(qū)的特征、性質和相互間的關系,為模式識別提供基礎。描述一般針對圖像或景物中的特定區(qū)域或目標。開運算通常用來消除小對象物,在纖細點處分離物體,平滑較大物體的邊界的同時不明顯改變其面積。4相關知識 人眼之所以能夠看到物體的顏色,除了人眼本身的生理機能,還必須有光的照射以及物體對入射光進行有選擇地吸收和反射。色溫是描述光的不同色彩的一個重要概念。它借用完全輻射體

9、的溫度來表示光源的光譜成分,以絕對黑體溫度K來度量。物體在不同的光源照射下呈現(xiàn)的顏色是不同的。這是由光源的不同色溫決定的,它使得物體的反射光譜較真實色彩有一定的偏差。對同一個白色物體而言,在低溫光源照明下,其反射變得偏紅;反之,在高溫光源下變得偏藍。人類視覺由于人眼具有的顏色恒常性,可以不管照明光的光譜成分如何變化,人們通常能像在白光下一樣來分辨物體的顏色。但是圖像采集設備則不然,它采集到的是物體在給定光源下的反射光,這就導致同一個物體在不同的光源下其表現(xiàn)的顏色不同,獲得的圖像不可避免會出現(xiàn)色彩上的偏差。為了補償不同光源引起的顏色不同,能真實、正確地再現(xiàn)現(xiàn)實世界中各種色彩的圖像,需要采用白平衡

10、技術。白平衡技術的核心, 是通過調整由傳感器得到的一個彩色視覺信號分量增益(如R , B) ,使得其組成顏色更接近真實色彩。如果原始場景中的某些象素點應該是白色的,但是由于所獲得圖像中的相應像素點存在色偏,這些點的R,G,B三個分量的值不再保持相同,通過調整這三個顏色分量的值,使之達到平衡,由此獲得對整幅圖像的彩色平衡影射關系,通過該影射關系對整幅圖像進行處理,即可達到彩色平衡的目的。5 圖像平衡運算設計5.1圖像白平衡圖的運算灰度世界法要計算未知光源的特性必須從圖片中提取相關的統(tǒng)計特性。當我們能夠僅使用一個統(tǒng)計特性就獲得未知光源特性時,算法就變得非常簡單了。在這種情況下,未知光源必須在整幅圖

11、片上都是統(tǒng)一的。均值于是就成為了此類方法之下最好的統(tǒng)計指標。而灰色世界法正是利用了均值作為估算未知光源的關鍵統(tǒng)計量。 從物理意義上說,灰色世界法假設自然界景物對于光線的平均反射的均值在總體上是個定值,這個定值近似地為“灰色”。在給定圖片的白平衡算法中,灰色世界假設圖片中的反射面足夠豐富,以至于可以作為自然界景物的一個縮影。若這幅圖片是在經(jīng)典光源下拍攝的,其均值就應該等于灰色。若這幅圖是在非經(jīng)典光源下拍攝的,那么均值就會大于或者小于灰色值。而該均值對于灰色的偏離程度則反映了未知光源相對于已知光源的特性。 雖然這個方法比較簡單,但是仍然可以從一些方面進行調整。一個方面就是對于灰色的定義形式的選擇。

12、包括對于光譜的定義、對于光譜成分的定義和在經(jīng)典光源之下的 RGB 的響應。另一個更加重要的調整方面就是對于灰色的選擇。不管如何定義灰色,最佳的灰色之選必然是自然界實事上出現(xiàn)的灰色。但是這個值是無法獲得的(除非是合成數(shù)據(jù)),所以對于灰色的選擇是不同的灰色世界算法的一個重要的區(qū)別點。 一個方法是假設這個灰色就是實事上的灰色。也就是說反射光譜是均衡的。給定光源之下的 RGB 響應是純白色對此光源的響應值的一部分。比方說,可以使用 50%作為反射率(雖然這個灰色值對于人眼視覺習慣而言可能過于明亮)。另一種方法,就是根據(jù)大量的數(shù)據(jù)提煉出一個均值,并把它定義為灰色。這種方法提煉的灰色值可能因為數(shù)據(jù)庫使用的

13、不同而有所不同。最終提煉的灰色也能僅適用于原始的數(shù)據(jù)庫,而對于數(shù)據(jù)庫未包括的圖片的適用度就會比較差一些。確定下來的灰色表達形式可以用 來表示。下標 i 表示信道,上標 c 為canonical 的首字母,表示經(jīng)典光源。 在確定灰色的表達形式后只要用 RGB 響應與經(jīng)典光源下灰色的比值來歸一化圖片就可以了。假設 RGB 響應均值為 ,下標 i 表示信道,上標 U 為Unknown 的首字母,表示未知光源。那么歸一化率的計算式為 如下式所示 : 根據(jù)光源轉換理論,從未知光源到經(jīng)典光源下圖片表達式的轉換式如下式所定義: 那么,灰色世界法的計算過程如下圖所示:本實驗選擇的灰色值為(129,129,12

14、9),具體的matlab實現(xiàn)程序如下:%灰色世界法%clear all; %清屏%img=imread('b1.bmp'); %讀取位圖的rgb值并存在名為img的三維矩陣中%AveR=mean(mean(img(:,:,1); %計算R通道的均值%AveG=mean(mean(img(:,:,2); %計算G通道的均值%AveB=mean(mean(img(:,:,3); %計算B通道的均值%Qr=129/AveR; %計算R通道的歸一化率Qr%Qg=129/AveG; %計算G通道的歸一化率Qg%Qb=129/AveB; %計算B通道的歸一化率Qb%光源變換%img0(:,

15、:,1)=Qr*img(:,:,1); img0(:,:,2)=Qg*img(:,:,2);img0(:,:,3)=Qb*img(:,:,3);figure,imshow(img0),title('變換后圖片'); %顯示圖片%圖5.1 原始圖像圖5.2白平衡變換后的圖像5.2 基于動態(tài)閾值的自動白平衡法這個算法是通過對圖片的ycbcr色空間的分析來確定參考白點的,所以次算法可以說是自適應白平衡算法。本算法選擇參考白點的閥值是動態(tài)變化的,所以對于不同的圖片,其閥值也不同。通過對圖片的cbcr坐標空間的分析,我們可以看到一個接近白色的區(qū)域(near-white region)是包

16、含著參考白點的。通過這個思路,我們可以通過對圖片分區(qū),然后找出參考白點,然后在通過von kvies model來調整圖片時期實現(xiàn)白平衡。這樣,這個算法就包括了兩個步驟了:尋找參考白點,白點調整。尋找參考白點:為了確定一個接近白色的區(qū)域,我們就必須把RGB色空間轉換成YCbCr色空間。色空間轉換后,就是計算Cb、Cr的均值Mb、Mr;然后通過下式計算Cb、Cr的均方差Db、Dr:為了提高算法的穩(wěn)健性,將圖片分為幾個區(qū)域并且計算每個區(qū)域的Mb、Mr、Db、Dr,如果一個區(qū)域的Db,Dr太小,那么這個區(qū)域就沒有足夠的色彩變化,就可以丟棄掉了。這樣可以避免大面積的統(tǒng)一色調對結果的影響。接下來就可以通

17、過下面的關系式得到接近白色區(qū)域的所有像素點了:根據(jù)亮度值,我們選擇接近白色區(qū)域中的10%的候選參考白點最為參考白點。在白點確定后,就可以從參考白點中得到信道增益的值了。為了維持整幅圖片的亮度不變,亮度的最大值被用來得到信道增益。所以信道增益不及和參考白點有關還與亮度的最大值有關,其表達式如下:其中是整幅圖片像素的亮度最大值,、和是參考白點的RGB信道的均值。最后,根據(jù)von-kvies model來調整圖片,使其達到白平衡的效果。調整的表達式如下:其中RGB是圖片的像素點的三個信道值,是調整之后的圖片的像素點的三個信道值。其源程序如下:function W=wbalance(im)clear

18、all;close all;%讀取照片的信息%filename, pathname = uigetfile('d:/gf1.jpg;'); if isequal(filename,0) disp('User selected Cancel'); else disp('User selected', fullfile(pathname, filename);endfname=strcat(pathname,filename);im=imread(fname);im2=im;im1=rgb2ycbcr(im);%將圖片的RGB值轉換成YCbCr值%L

19、u=im1(:,:,1);Cb=im1(:,:,2);Cr=im1(:,:,3);x y z=size(im);tst=zeros(x,y);%計算Cb、Cr的均值Mb、Mr%Mb=sum(sum(Cb);Mr=sum(sum(Cr);Mb=Mb/(x*y);Mr=Mr/(x*y);%計算Cb、Cr的均方差%Db=sum(sum(Cb-Mb)/(x*y);Dr=sum(sum(Cr-Mr)/(x*y);%根據(jù)閥值的要求提取出near-white區(qū)域的像素點%cnt=1; for i=1:x for j=1:y b1=Cb(i,j)-(Mb+Db*sign(Mb); b2=Cr(i,j)-(1.

20、5*Mr+Dr*sign(Mr); if (b1<abs(1.5*Db) & b2<abs(1.5*Dr) Ciny(cnt)=Lu(i,j); tst(i,j)=Lu(i,j); cnt=cnt+1; end endend cnt=cnt-1; iy=sort(Ciny,'descend');%將提取出的像素點從亮度值大的點到小的點依次排列% nn=round(cnt/10); Ciny2(1:nn)=iy(1:nn);%提取出near-white區(qū)域中10%的亮度值較大的像素點做參考白點%提取出參考白點的RGB三信道的值% mn=min(Ciny2);

21、c=0; for i=1:x for j=1:y if tst(i,j)<mn tst(i,j)=0; else tst(i,j)=1; c=c+1; end end end R=im(:,:,1); G=im(:,:,2); B=im(:,:,3); R=double(R).*tst; G=double(G).*tst; B=double(B).*tst;%計算參考白點的RGB的均值% Rav=mean(mean(R); Gav=mean(mean(G); Bav=mean(mean(B); Ymax=double(max(max(Lu)/15;%計算出圖片的亮度的最大值%計算出RGB

22、三信道的增益% Rgain=Ymax/Rav; Ggain=Ymax/Gav; Bgain=Ymax/Bav;%通過增益調整圖片的RGB三信道% im(:,:,1)=im(:,:,1)*Rgain; im(:,:,2)=im(:,:,2)*Ggain; im(:,:,3)=im(:,:,3)*Bgain;%顯示圖片% W=im; figure,imshow(im2,),title('原圖'); figure,imshow(im,),title('白平衡后的效果圖'); y=im-im2; disp(y); figure, imshow(y);顯示運行結果: 圖5.3原始圖像圖5.4白平衡后效果圖圖5.5將原始圖像和白平衡后的效果圖相減的效果圖結 論 通過這次的課程設計,我首次通過編寫代碼來完成對圖像的處理,這是一份難得的機會。在剛開始運用MATLAB時,由于長時間的擱置,對其操作可以說是非常的不熟練。但是,當我把以前的知識重溫之后,開始慢慢的對MATLA

溫馨提示

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

最新文檔

評論

0/150

提交評論