版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、clcclear all%讀入圖片pic1=imread(' lenal.jpg');pic2=imread(' lena2.jpg');% Harris角點(diǎn)檢測pointsl =myHarris( pic1);points2=myHarris( pic2);%畫出Harris角點(diǎn)figure ( 1)drawHarrisCorner( pic1, points1, pic2, points2);%角點(diǎn)特征描述des1=myHarrisCornerDescription (pic1, points1);des2=myHarrisCornerDescription
2、 (pic2, points2);%角點(diǎn)粗匹配matchs=myMatch (des1, des2);%獲取各自出匹配角點(diǎn)位置matchedPoints1=points1(matchs(:, 1),:);matchedPoints2=points2( matchs(:, 2),:);%粗匹配角點(diǎn)連線figure ( 2)drawLinedCorner( pic1, matchedPoints1, pic2, matchedPoint”%角點(diǎn)精匹配newLoc1, newLoc2= pointsSelect( matchedPointsl, matchedPoints?);%精匹配角點(diǎn)連線fig
3、ure ( 3) 3)drawLinedCorner( pic1, newLoc1, pic2, newLoc2);%圖像拼接im=picMatched( pic1, newLoc1, pic2, newLoc2);%顯示拼接圖像figure(4)imshow( im);set(gcf,' Color',' w');function points =myHarris( pic)%功能:尋找Harris角點(diǎn)%輸入:RGB圖像或gray圖%輸出:角點(diǎn)所在的行、縱的NX 2矩陣if length( size( pic)= 3pic=rgb2gray( pic);end
4、pic=double( pic);hx=- 1 0 1;Ix=filter2( hx, pic);hy=- 1; 0; 1;Iy=filter2( hy, pic);Ix2=Ix.* Ix;Iy2=Iy.* Iy;Ixy=Ix.* Iy;h=fspecial(' gaussian, 7 7, 2);Ix2=filter2(h, Ix2);Iy2=filter2(h, Iy2);Ixy=filter2(h, Ixy);heigth, width = size( pic);alpha=0. 06;R=zeros( heigth, width);for i =1: heigth for j
5、=1: width M= Ix2(i,j) Ixy(i,j); Ixy(i,j) Iy2(i,j); R( i, j)= det( M)- alpha*( trace( M )A 2);end end Rmax=max( max( R); pMap=zeros( heigth, width); for i =2: heigth-1 for j =2: width -1 if R(i, j)>0. 01*Rmax tm=R( i-1: i+1, j-1: j+1);tm(2, 2)=0; if R(i, j)>tm pMap(i, j)=1; end end endendrow, c
6、ol= find ( pMap=1); points= row, col;function drawHarrisCorner( pic1, points1, pic2, points2) %功能:畫出Harris角點(diǎn)的連接%輸入:% pic1、pic2:待拼接的圖像% points1、points2: Harris角點(diǎn)位置X1=points1(:, 2);Y1=points1(:, 1);X2=points2(:, 2);Y2=points2(:, 1);dif=size( pic1,2);imshowpair( pic1, pic2,' montage');hold onpl
7、ot(X1, Y1,' b*');plot(X2+dif, Y2,' b*');set(gcf,' Color',' w');function des=myHarrisCornerDescription (pic, points)%功能:Harris角點(diǎn)特征描述%輸入:% pic:原圖像% points:角點(diǎn)位置%輸出:% des: 8XN的角點(diǎn)特征描述矩陣if length( size( pic)= 3pic=rgb2gray( pic);endlen=length( points);des=zeros( 8, len);for
8、 k=1: lenp=points(k,:);pc=pic(p( 1), p( 2);des( 1, k)= pic( p(1)- 1, p( 2)- 1)- pc;des(2, k)= pic(p(1), p(2)- 1)- pc;des( 3, k)= pic( p(1)+1, p( 2)- 1)- pc;des(4, k)= pic(p(1)+1, p(2)- pc;des( 5, k)= pic( p(1)+1, p( 2)+1)- pc;des( 6, k)= pic( p( 1), p( 2)+1)- pc;des( 7, k)= pic( p(1)- 1, p( 2)+1)- p
9、c;des( 8, k)= pic(p(1)- 1, p(2)- pc;des(:, k)= des(:, k)/ sum(des(:, k);endfunction matchs二myMatch( des1, des2)%功能:特征點(diǎn)雙向匹配%輸入:% des1、des2:特征點(diǎn)描述信息構(gòu)成的矩陣%輸出:% matchs:匹配的特征點(diǎn)對應(yīng)關(guān)系len1=length( des1);len2=length( des2);match1 =zeros( len1,2);cor1=zeros( 1, len2);for i =1: len1d1 =des1(:, i);for j =1: len2d2
10、=des2(:, j);cor1(j)=( d1'* d2)/ sqrt( d1'* d1)*( d2'* d2);end, indx= max( cori);matchi(i,:)= i, indx;endmatch2=zeros( len2, 2);cor2=zeros( 1, lenl);for i =1: len2d2=des2(:, i);for j =1: lenldi =des1(:, j);cor2(j)=( di'* d2)/ sqrt( d1'* d1)*( d2'* d2);end,indx= max( cor2);matc
11、h2( i,:)= indx, i;endmatchs=;for i =1: length( match1)for j =1: length( match2)if match1( i,:)= match2(j,:)matchs= matchs; match1 (i,:);endendendfunction drawLinedCorner (pic1, loc1, pic2, loc2)%功能:畫出匹配角點(diǎn)的連接%輸入:% pic1、pic2:待拼接的圖像% loc1、10c2:匹配角點(diǎn)位置X1=loc1(:, 2);Y1 =loc1 (:, 1);X2=loc2(:, 2);Y2=loc2(:
12、, 1);dif=size( pic1,2);imshowpair( pic1, pic2,' montage');hold onfor k=1: length(X 1)plot(X1(k), Y1(k),' b*');plot(X2(k)+dif, Y2(k),' b*');line( X1(k), X2(k)+dif, Y1(k), Y2( k),' Color',' r'); endset(gcf,' Color',' w');function newLoc1, newLoc2
13、= pointsSelect( loc1,10c2)%功能:篩選匹配特征點(diǎn)對,獲取高精度的控制點(diǎn)%輸入:% loci、10c2:粗匹配特征點(diǎn)位置%輸出:% newLocI、newLoc2:精匹配控制點(diǎn)位置s1ope=(1oc2(:, 1)-1oc1(:, 1)./( 10c2(:, 2)- 1oc1(:, 2); for k=1: 3s1ope=s1ope- mean( s1ope);1en=1ength(s1ope);t=sort( abs(s1ope);thresh=t( round( 0. 5*1en);ind=abs( s1ope)<= thresh;s1ope=s1ope( i
14、nd);1oc1=1oc1( ind,:);1oc2=1oc2( ind,:); endnewLoc1=1oc1;newLoc2=1oc2;function im =picMatched(pic1, newLoc1, pic2, newLoc2)%功能:獲取拼接之后的圖片%輸入:% pic1、pic2:待拼接圖片% newLoc1、newLoc2:變換控制點(diǎn)矩陣%輸出:% im:拼接后的圖片if 1ength( size( pic1)= 2pic1=cat( 3, pic1, pic1, pic1);endif 1ength( size( pic2)= 2pic2=cat( 3, pic2,
15、pic2, pic2);endSZ=2000;X1=newLoc1(:, 2);Y1=newLoc1(:, 1);X2=newLoc2(:, 2);Y2=newLoc2(:, 1);se1=randperm( 1ength( newLoc1), 3);x=X2( se1),;y=Y2( se1),;X=X1(se1),;Y=Y1(se1),;U=x; y; ones( 1,3);V=X;Y;ones(1,3);T=V/U;cntrX=SZ/2;cntrY=SZ/2;im=zeros( SZ, SZ, 3);for i =1: size( pic2, 1)for j =1: size( pic2
16、, 2) tmp=T* j; i; 1;nx=round( tmp( 1)+ cntrX;ny=round(tmp( 2)+ cntrY;if nx >=1 && nx<=SZ && ny>=1 && ny<=SZ im(ny, nx,:)= pic2( i, j,:);end end end im=imresize(im, 1,' bicubic');tpic1 =zeros( SZ, SZ, 3);tpic1( 1+cntrY: size( pic1, 1)+cntrY, 1+cntrX: size(
17、pic1,2)+cntrX,:)= pic1; re=rgb2gray( uint8( im)- rgb2gray( uint8(tpic1);for k=1: 3ta=im(:,:, k);tb=tpic1(:,:,k);ta( re=0)=tb( re=0);im(:,:, k)=ta;endclear ta tb re tpic1 im=getPicture( im, SZ); im=uint8( im);if length( size( pic1)= 2 im=rgb2gray(im);endfunction im =getPicture( pic, SZ)%功能:獲取圖像有用區(qū)域%輸入:% pic:拼接圖像% SZ:預(yù)定圖像尺寸%輸出:% im:有用區(qū)域圖像if length( size( pic)= 2 pic=cat( 3, pic, pic, pic); end k=1;while k<SZif any(any(pic(k,:,:) brea
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 訂貨協(xié)議法律效力
- 代理收款合同模板
- 技術(shù)教育與培訓(xùn)
- 招標(biāo)文件范本搖號定標(biāo)的法律要求
- 工薪族鞋購買協(xié)議
- 地鐵項(xiàng)目施工方案招標(biāo)
- 招標(biāo)采購合同中的合同解除管理程序
- 招標(biāo)文件示范文本
- 筆記本電腦購銷合同樣本
- 服務(wù)合同范本集合
- 工廠車間環(huán)境監(jiān)測控制系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)
- 三級英語閱讀習(xí)題(3篇)
- 辦公室、宿舍現(xiàn)場處置方案
- “阿里巴巴”并購“餓了么”案例分析
- 人教版初中九年級英語全冊單詞(按詞性分類)-
- 老年人學(xué)習(xí)使用智能手機(jī)之基本功能
- 110kV輸變電工程旁站監(jiān)理方案含流程圖
- YY 0833-2011肢體加壓理療設(shè)備
- MT 97-1992液壓支架千斤頂技術(shù)條件
- GB/Z 19964-2005光伏發(fā)電站接入電力系統(tǒng)技術(shù)規(guī)定
- 2022極狐(GitLab)遠(yuǎn)程辦公白皮書
評論
0/150
提交評論