圖像OTSU閾值分割的程序設(shè)計_第1頁
圖像OTSU閾值分割的程序設(shè)計_第2頁
圖像OTSU閾值分割的程序設(shè)計_第3頁
圖像OTSU閾值分割的程序設(shè)計_第4頁
圖像OTSU閾值分割的程序設(shè)計_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1概述數(shù)字圖像處理(DigitalImageProcessing)是通過計算機對圖像進行去除噪聲、增強、復(fù)原、分割、提取特征等處理的方法和技術(shù)。數(shù)字圖像處理的產(chǎn)生和迅速開展主要受三個因素的影響:一是計算機的開展;二是數(shù)學(xué)的開展(特別是離散數(shù)學(xué)理論的創(chuàng)立和完善);三是廣泛的農(nóng)牧業(yè)、林業(yè)、環(huán)境、軍事、工業(yè)和醫(yī)學(xué)等方面的應(yīng)用需求的增長。數(shù)字圖像處理研究的內(nèi)容主要有:(1)圖像獲取和圖像表現(xiàn)階段主要是把模擬圖像信號轉(zhuǎn)化為計算機所能接受的數(shù)字形式,以及把數(shù)字圖像用所需要的形式顯示出來。(2)圖像復(fù)原當造成圖像退化的原因時,復(fù)原技術(shù)可用來進行圖像的校正。復(fù)原技術(shù)是基于模型和數(shù)據(jù)的圖像恢復(fù),其目的是消除退化的影響,從而產(chǎn)生一個等價于理想成像系統(tǒng)所獲得的圖像。(3)圖像增強當無法知道與圖像退化有關(guān)的定量信息時,可以使用圖像增強技術(shù)較為主觀地改善圖像的質(zhì)量。(4)圖像分析對圖像中的不同對象進行分割、特征提取和表示,從而有利于計算機對圖像進行分類、識別、理解或解釋。(5)圖像重建由圖像的多個一維投影重建該圖像,可看成是特殊的圖像復(fù)原技術(shù)。(6)圖像編碼和壓縮對圖像進行編碼的主要目的是為了壓縮數(shù)據(jù),便于存儲和傳輸。當前的一些編碼方法對圖像分析和圖像加密也有越來越多的應(yīng)用。MATLAB是矩陣實驗室〔MatrixLaboratory〕的簡稱,是美國MathWorks公司出品的商業(yè)數(shù)學(xué)軟件,用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計算的高級技術(shù)計算語言和交互式環(huán)境,主要包括MATLAB和Simulink兩大局部。它在數(shù)學(xué)類科技應(yīng)用軟件中在數(shù)值計算方面首屈一指。MATLAB可以進行矩陣運算、繪制函數(shù)和數(shù)據(jù)、實現(xiàn)算法、創(chuàng)立用戶界面、連接其他編程語言的程序等,主要應(yīng)用于工程計算、控制設(shè)計、信號處理與通訊、圖像處理、信號檢測、金融建模設(shè)計與分析等領(lǐng)域。2MATLAB常用圖像操作函數(shù)2.1圖像的讀寫(1)imreadimread函數(shù)用于讀入各種圖像文件,如:a=imread('e:\w01.tif')注:計算機E盤上要有w01相應(yīng)的.tif文件。(2)imwriteimwrite函數(shù)用于寫入圖像文件,如:imwrite(a,'e:\w02.tif',’tif’)(3)imfinfoimfinfo函數(shù)用于讀取圖像文件的有關(guān)信息,如:imfinfo('e:\w01.tif')2.2圖像的顯示(1)imageimage函數(shù)是MATLAB提供的最原始的圖像顯示函數(shù),如:a=[1,2,3,4;4,5,6,7;8,9,10,11,12];image(a);(2)imshowimshow函數(shù)用于圖像文件的顯示,如:i=imread('e:\w01.tif');imshow(i);(3)colorbarcolorbar函數(shù)用顯示圖像的顏色條,如:i=imread('e:\w01.tif');imshow(i);colorbar;(4)figurefigure函數(shù)用于設(shè)定圖像顯示窗口,如:figure(1);/figure(2);3理論知識3.1圖像分割的定義圖像分割是圖像識別和圖像理解的根本前提步驟。圖像分割算法一般是基于灰度的兩個性質(zhì)之一:不連續(xù)性和相似性。第一個性質(zhì)的應(yīng)用是基于灰度的不連續(xù)變化來分割圖像,比方圖像的邊緣。第二個性質(zhì)的主要應(yīng)用是根據(jù)事先制定的準那么將圖像分割為相似的區(qū)域,比方閾值分割和區(qū)域生長。圖像分割是將數(shù)字圖像劃分成互不相交〔不重疊〕區(qū)域的過程,區(qū)域〔region〕是像素的聯(lián)通集,是所有像素都有相鄰或相鄰或相接觸像素的集合。聯(lián)通〔connectedness〕是指在一個聯(lián)通集中的任意兩個像素之間,存在一條完全由這個集合的元素構(gòu)成的連通路徑。連通路徑是一條可在相鄰像素間移動的路徑。因此,在一個連通集中,可以跟蹤在任意兩個像素間的連通路徑而不離開這個集合。有兩種可供選擇的連通性準那么,如果只依據(jù)相鄰的像素〔上、下、左、右〕確定連通,就稱為4連通〔four-connect〕,物體也就被稱為是4連通的。因此任意一個像素只有4個鄰點可以與它相連通。如果再加上對角相鄰的〔45度鄰點〕像素也被認為是連通的,那么,就得到8連通。于是,任意像素有8個鄰點可以與它相連通。這兩種中的任意一種都可用,只要具有一致性即可。通常8連通的結(jié)果與人的感覺更接近。當人觀察景物時,在視覺系統(tǒng)中對景物進行分割的過程是必不可少的。這個過程可以使人看到的并不是一個復(fù)雜的景物,而只不過是一種對象的集合體。但是,使用數(shù)字圖像處理,必須設(shè)法別離圖像中的對象,把圖像分裂成像素集合,每個集合代表一個對象的圖像。圖像分割可以采用三種不同的原理來實現(xiàn)。在利用區(qū)域的方法時,把各像素劃歸到各個對象或區(qū)域中。在邊緣方法中,那么先確定邊緣像素并把它們連接在一起以構(gòu)成所需的邊緣在邊界方法中,只需確定存在于區(qū)域間的邊界。這三種方法使要解決的問題更加具體。3.2閾值分割閾值分割是一種區(qū)域分割技術(shù),它適用于物體與背景有較強比照的景物分割。它計算簡單,而且總能用封閉而且連通的邊界定義不交疊的區(qū)域。當使用閾值規(guī)那么進行圖像分割時,所有灰度值大于或等于某閾值的像素都被判屬于物體。所有灰度值小于該閾值的像素被排除在物體之外。于是,邊界就成為這樣一些內(nèi)部點的集合,這些點都至少有一個鄰點不屬于該物體。如果受關(guān)注的物體在其內(nèi)部具有均勻一致的灰度值并分布在一個具有另一個灰度值的均勻背景上,使用閾值方法效果就很好。如果物體與背景的差異在于某些性質(zhì)而不是灰度值〔如紋理等〕,那么,可以首先把那個性質(zhì)轉(zhuǎn)換為灰度,然后,利用灰度閾值化技術(shù)分割待處理的圖像。3.3最大類間方差法(OTSU)最大類間方差法又稱為OTSU算法,該算法是在灰度直方圖的根底上用最小二乘法原理推導(dǎo)出來的,具有統(tǒng)計意義上的最正確分割閾值。它的根本原理是以最正確閾值將圖像的灰度直方圖分割成兩局部,使兩局部之間的方差取最大值,即別離性最大。設(shè)X是一幅具有L級灰度級的圖像,其中第i級像素為個,其中i的值在0~L-1之間,圖像的總像素點個數(shù)為:第i級出現(xiàn)的概率為:在OTSU算法中,以閾值k將所有的像素分為目標和背景兩類。其中,類的像素灰度級為0~k-1,類的像素灰度級為k~L-1。圖像的總平均灰度級為:類像素所占的總面積的比例為:類像素所占的總面積的比例為:類像素的平均灰度級為:類像素的平均灰度級為:其中,那么類間方差公式為:令k從0~L-1變化,計算在不同k值下的類間方差,使得最大值時的那個k值就是所要求的最優(yōu)閾值。3.4全局閾值采用閾值確定邊界的最簡單做法是在整個圖像中將灰度閾值的值設(shè)置為常數(shù),也就是全局閾值。如果背景的灰度值在整個圖像中可合理地看做恒定,而且所有物體與背景都具有幾乎相同的比照度,那么,只要選擇了正確的閾值,使用一個恒定的全局閾值一般會有較好的效果。4實驗程序根據(jù)題目要求,此程序根據(jù)OTSU原理,能完成求取閾值,并與用Matlab的庫函數(shù)求得的閾值進行比擬的功能。為了表達OTSU算法的優(yōu)越性,更進一步用全局閾值法分割圖片,來進行兩種方法的比照。functionmain%主程序clear;closeall;%去除變量,關(guān)閉所有窗口[namepath]=uigetfile('*.jpg');%獲取圖片路徑及文件名I=imread([pathname]);%讀圖I=rgb2gray(I);%彩色轉(zhuǎn)黑白while1%循環(huán)執(zhí)行disp('0原圖1OTSU2全局閾值');%提示信息select=input('請選擇:');%選擇相應(yīng)功能switchselectcase0yuantu(I);%輸入0顯示原圖case1%輸入1OTSU法fun1(I);case2%輸入2全局閾值法fun2(I);otherwise%其他值不處理endendfunctionyuantu(I)%顯示原圖figureimshow(I);title('原圖')functionfun1(I)%閾值計算程序Ni=imhist(I);%計算直方圖數(shù)組N=sum(Ni);%總像素點個數(shù)delamax=0;%類間方差最大值threshold=0;%閾值fork=2:255u=dot([0:255],Ni/N);%圖像的總平均灰度級w0=sum(Ni(1:k)/N);%C0類像素所占面積的比例w1=1-w0;%C1類像素所占面積的比例ifw0==0|w0==1%當w0為1或0時提前結(jié)束本次循環(huán)continueendu0=dot([0:k-1],Ni(1:k)/N)/w0;%C0類像素的平均灰度u1=dot([k:255],Ni(k+1:256)/N)/w1;%C1類像素的平均灰度dela(k)=w0*(u-u0)^2+w1*(u-u1)^2;%類間方差公式%求出類間方差的最大值,最大時的那個值對應(yīng)的k值存入delamaxifdela(k)>delamaxdelamax=dela(k);threshold=k-1;endendBW1=im2bw(I,threshold/255);%閾值分割figureimshow(BW1),title('自編程序運行結(jié)果')%顯示圖片disp('自編程序求的的閾值:')%顯示提示信息disp(threshold)%顯示結(jié)果%調(diào)用系統(tǒng)函數(shù)OTSU閾值分割level=graythresh(I);%調(diào)用系統(tǒng)函數(shù)計算閾值BW2=im2bw(I,level);%閾值分割figureimshow(BW2),title('調(diào)用庫函數(shù)運行結(jié)果')level=round(level*255);disp('調(diào)用庫函數(shù)求得的閾值:')disp(level)functionfun2(I)%閾值分割程序[widthheight]=size(I);;%獲取圖片寬高th=input('請輸入閾值:');fori=1:widthforj=1:heightif(I(i,j)<th)%灰度小于閾值時那么為黑色BW1(i,j)=0;else%灰度大于等于閾值時那么為白色BW1(i,j)=1;endendendfigureimshow(BW1),title('全局閾值')5程序運行結(jié)果及分析5.1程序運行結(jié)果根據(jù)提示輸入相應(yīng)的序號,按回車鍵后即可得到相應(yīng)的運行結(jié)果,如下所示:圖5.1命令窗口運行結(jié)果圖5.2原圖圖5.3自編程序運行結(jié)果圖5.4調(diào)用庫函數(shù)運行結(jié)果圖5.5全局閾值5.2結(jié)果分析由圖5.1結(jié)果顯示可以看出自編程序和調(diào)用庫函數(shù)的閾值都是124,得到同樣的分割閾值,由圖5.3和圖5.4兩幅處理后的結(jié)果圖也可以看出,處理的效果根本相同,滿足設(shè)計要求。當使用全局閾值法時,只要輸入的閾值和OTSU算出的閾值一樣,即輸入124時,處理結(jié)果就完全一樣。6心得體會課程設(shè)計是培養(yǎng)學(xué)生綜合運用所學(xué)知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學(xué)生實際工作能力的具體訓(xùn)練和考察過程.隨著科學(xué)技術(shù)開展的日新日異,數(shù)字圖像處理已經(jīng)成為當今計算機應(yīng)用中空前活潑的領(lǐng)域,在生活中可以說得是無處不在。因此作為二十一世紀的大學(xué)來說掌握單片機的開發(fā)技術(shù)是十分重要的?;貞浧鸫舜螌I(yè)課程設(shè)計,至今我仍感慨頗多,確實,從選題到定稿,從理論到實踐,在整整一星期的日子里,可以說得是苦多于甜,但是可以學(xué)到很多很多的的東西,同時不僅可以穩(wěn)固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會效勞,從而提高自己的實際動手能力和獨立思考的能力。在設(shè)計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設(shè)計的過程中發(fā)現(xiàn)了自己的缺乏之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固,比方說傅里葉卷積的計算,MATLAB軟件的應(yīng)用技巧,對編程掌握得不好

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論