【正文】
54.[9] K M Kim,C S Lee,Y H Ha.Color image quantization using weighted distortion measure of HVS color activity[C].IEEE International Comference on Pattern Recognition.1996:10351039.[10] 林開顏,吳軍輝,徐立鴻.彩色圖像分割方法綜述[J].中國圖象圖形學(xué)報,2005,1(10):110.[11] 付煒,黃志高,張瑞芳.基于閾值化分割與小波變換的彩色數(shù)字水印算法[J].電子測量技術(shù),2006,6(29):129131.[12] 金軍.基于子塊的區(qū)域生長的彩色圖像分割算法[J].計算機工程與應(yīng)用,2008,44(1):8283.[13] 柳萍,陽愛民.一種基于區(qū)域的彩色圖像分割方法[J].計算機工程與應(yīng)用,2007,43(6):3739,64.[14] 龔巍,林茂松.一種改進(jìn)的邊緣生長彩色圖像分割方法[J].微電子學(xué)與計算機,2007,24(6):194197.[15] Geman,D. amp。 . Stochastic relaxation,Gibbs distribution and Bayesian restoration of images[J].IEEE Transactions on pattern Analysis and Machine Intelligence,1984(6) :721741.[16] 劉平,陳斌,阮波.基于邊緣信息的圖像閾值化分割方法[J].計算機應(yīng)用,2004,9(24):2837.[17] 陳勝,楊新,姚麗萍,孫錕.多網(wǎng)格法解總變分問題及在醫(yī)學(xué)圖像增強中的應(yīng)用[J].中國圖象圖形學(xué)報,2004,7(9):787792.[18] 劉梅華,汪東,柳惠秋.一種改進(jìn)的輪廓跟蹤算法[J].機械設(shè)計與制造,2008,5:4547.[19] 田岳鑫.Hough變換在小目標(biāo)檢測中的應(yīng)用[J].激光與紅外,2008,11(38):11411143.謝 辭本文是在我的導(dǎo)師陳志剛講師的悉心指導(dǎo)下完成的。從論文的選題、研究思路的確定、論文的撰寫直到論文修改的整個過程中,陳老師傾注了大量的心血和精力。在幾年的學(xué)習(xí)生活中,感謝陳老師給予我的關(guān)心、指導(dǎo)和培養(yǎng)。這三年來,陳老師嚴(yán)謹(jǐn)求實的治學(xué)態(tài)度、誨人不倦的師德和一絲不茍的工作作風(fēng)使我受益匪淺;他樸實的生活作風(fēng)、淵博的學(xué)識以及對科學(xué)研究事業(yè)執(zhí)著追求的精神給我留下了深刻的印象,并使我終生受益,也是我未來學(xué)習(xí)的榜樣!在這里還要感謝物電學(xué)院的所有領(lǐng)導(dǎo)和老師三年來對我的培養(yǎng)和關(guān)懷,是他們?yōu)槲姨峁┝肆己玫膶W(xué)習(xí)環(huán)境和機會。感謝我的父母和家人,沒有你們的鼓勵和支持我將一事無成。最后,感謝各位專家和評委的耐心審閱,他們提出了很多寶貴意見和建議。附 件程序清單:主程序:function tu=keyprogram( ) rgb=imread(39。39。)。figure。imshow(rgb)。rgb=im2double(rgb)。 r=rgb(:,:,1)。 g=rgb(:,:,2)。 b=rgb(:,:,3)。 num=*((rg)+(rb))。 den=sqrt((rg).^2+(rb).*(gb))。 theta=acos(num./(den+eps))。 H=theta。 H(bg)=2*piH(bg)。 H=H/(2*pi)。 num=min(min(r,g),b)。 den=r+g+b。 den(den==0)=eps。 S=13.*num./den。 H(S==0)=0。 I=(r+g+b)/3。 S=im2uint8(S)。H=im2uint8(H)。I=im2uint8(I)。S=double(S)。H=double(H)。I=double(I)。[m,n]=size(S)。figure。imshow(uint8(S))。figure。imshow(uint8(H))。figure。imshow(uint8(I))。S1=S。h1=H。i1=I。for i=1:m for j=1:n if (S(i,j)=100) S1(i,j)=255。 else S1(i,j)=0。 end endendfigure。imshow(uint8(S1))。for i=1:m for j=1:n if (S1(i,j)==0) H(i,j)=0。 end endendH1=meanshift(H)。figure。imshow(uint8(H1))。for i=1:m for j=1:n if (S1(i,j)==255) I(i,j)=0。 end endendI1=meanshift(I)。figure。imshow(uint8(I1))。for i=1:m for j=1:n if (S1(i,j)==0) H1(i,j)=h1(i,j)。 end endendfor i=1:m for j=1:n if (S1(i,j)==255) I1(i,j)=i1(i,j)。 end endendhsi=cat(3,H1,S1,I1)。figure。imshow(uint8(hsi))。end子程序:function p=meanshift(im)[r,c]=size(im)。f=im。new_f_x=zeros(r,c)。new_f_y=new_f_x。new_f_gray=f。hs=7。hr=35。c1=hs:hs。c1=repmat(c1,2*hs+1,1)。r1=c139。es=(r1.^2+c1.^2)/hs^2。index=find(es1)。es=exp(es)。es(index)=0。for i=hs+1:rhs for j=hs+1:chs k=i。l=j。count=0。flag=1。 while(flag~=0) count=count+1。 rr1=r1+k。 cc1=c1+l。 er=((f(i,j)f(khs:k+hs,lhs:l+hs)).^2)/hr^2。index=find(er1)。 er=exp(er)。er(index)=0。 new_k=sum(sum(rr1.*es.*er))/sum(sum(es.*er))。 new_l=sum(sum(cc1.*es.*er))/sum(sum(es.*er))。 shift=sqrt((knew_k)^2+(lnew_l)^2)。 k=round(new_k)。 l=round(new_l)。 if shift1 flag=0。 end if (new_khs+1 || new_krhs || new_lhs+1 || new_lchs) k=i。l=j。 break。 end end er=((f(i,j)f(khs:k+hs,lhs:l+hs)).^2)/hr^2。er=double(er=1)。 tem=er.*f(khs:k+hs,lhs:l+hs)。tem=tem(find(tem0))。tem=median(tem)。 new_f_gray(i,j)=tem。 new_f_x(i,j)=k。new_f_y(i,j)=l。 endendp=new_f_gr