遙感影像鑲嵌及實現(四)

遙感影像鑲嵌及實現(一)
遙感影像鑲嵌及實現(二)
遙感影像鑲嵌及實現(三)

主要內容

1 獲取直骨架點及邊:使用重疊區域點集,計算多邊形2D直骨架(2D Straight Skeleton),獲取骨架點;
2 構造有向圖,求重疊區域鑲嵌線:使用骨架邊(skeleton edge),構建有向圖,找到從交叉點起始到結束的最短距離。那麼由起始點,經過最短距離的骨架點,到結束點構成重疊區域的鑲嵌線;
3 構造貢獻區域:由有效區域點集同重疊區域鑲嵌線點集,分別構成兩幅圖鑲嵌後、各自的貢獻區域;
4 demo。

1 獲取直骨架點及邊

(1)重疊區域點,多邊形
重疊區域多邊形
(2)2D直骨架
  求2D直骨架時注意:重疊區域點爲順時針排列,在壓入Polygon_2 poly時,需要逆時針。圖中藍色(16)和綠色(19)線爲骨架邊,藍色與綠色線的交點爲骨架點(17)。
重疊區域直骨架點

(354723,4.43218e+006)contour vertex//輪廓點 19個,20個其中有一個迴路
(355805,4.43199e+006)contour vertex
(355937,4.43181e+006)contour vertex
(356012,4.43172e+006)contour vertex
(358214,4.43119e+006)contour vertex
(358198,4.43111e+006)contour vertex
(358286,4.43109e+006)contour vertex
(357810,4.42914e+006)contour vertex
(357580,4.42798e+006)contour vertex
(396404,4.41855e+006)contour vertex
(397306,4.42227e+006)contour vertex
(396520,4.42249e+006)contour vertex
(395673,4.42262e+006)contour vertex
(395078,4.42289e+006)contour vertex
(394422,4.42307e+006)contour vertex
(393935,4.42308e+006)contour vertex
(393843,4.42315e+006)contour vertex
(394376,4.42544e+006)contour vertex
(355312,4.43462e+006)contour vertex
(356195,4.43201e+006)skeleton vertex//骨架點 17個
(396348,4.4217e+006)skeleton vertex
(358990,4.42888e+006)skeleton vertex
(356495,4.43309e+006)skeleton vertex
(356213,4.43315e+006)skeleton vertex
(356786,4.4329e+006)skeleton vertex
(359772,4.4322e+006)skeleton vertex
(359823,4.43212e+006)skeleton vertex
(359973,4.43208e+006)skeleton vertex
(395162,4.42092e+006)skeleton vertex
(393269,4.42123e+006)skeleton vertex
(395008,4.42084e+006)skeleton vertex
(394409,4.42105e+006)skeleton vertex
(394140,4.42112e+006)skeleton vertex
(391206,4.42224e+006)skeleton vertex
(361134,4.43019e+006)skeleton vertex
(390659,4.42313e+006)skeleton vertex
(355312,4.43462e+006)->(354723,4.43218e+006) contour//輪廓邊 38
(354723,4.43218e+006)->(355312,4.43462e+006) contour
(354723,4.43218e+006)->(355805,4.43199e+006) contour
(355805,4.43199e+006)->(354723,4.43218e+006) contour
(355805,4.43199e+006)->(355937,4.43181e+006) contour
(355937,4.43181e+006)->(355805,4.43199e+006) contour
(355937,4.43181e+006)->(356012,4.43172e+006) contour
(356012,4.43172e+006)->(355937,4.43181e+006) contour
(356012,4.43172e+006)->(358214,4.43119e+006) contour
(358214,4.43119e+006)->(356012,4.43172e+006) contour
(358214,4.43119e+006)->(358198,4.43111e+006) contour
(358198,4.43111e+006)->(358214,4.43119e+006) contour
(358198,4.43111e+006)->(358286,4.43109e+006) contour
(358286,4.43109e+006)->(358198,4.43111e+006) contour
(358286,4.43109e+006)->(357810,4.42914e+006) contour
(357810,4.42914e+006)->(358286,4.43109e+006) contour
(357810,4.42914e+006)->(357580,4.42798e+006) contour
(357580,4.42798e+006)->(357810,4.42914e+006) contour
(357580,4.42798e+006)->(396404,4.41855e+006) contour
(396404,4.41855e+006)->(357580,4.42798e+006) contour
(396404,4.41855e+006)->(397306,4.42227e+006) contour
(397306,4.42227e+006)->(396404,4.41855e+006) contour
(397306,4.42227e+006)->(396520,4.42249e+006) contour
(396520,4.42249e+006)->(397306,4.42227e+006) contour
(396520,4.42249e+006)->(395673,4.42262e+006) contour
(395673,4.42262e+006)->(396520,4.42249e+006) contour
(395673,4.42262e+006)->(395078,4.42289e+006) contour
(395078,4.42289e+006)->(395673,4.42262e+006) contour
(395078,4.42289e+006)->(394422,4.42307e+006) contour
(394422,4.42307e+006)->(395078,4.42289e+006) contour
(394422,4.42307e+006)->(393935,4.42308e+006) contour
(393935,4.42308e+006)->(394422,4.42307e+006) contour
(393935,4.42308e+006)->(393843,4.42315e+006) contour
(393843,4.42315e+006)->(393935,4.42308e+006) contour
(393843,4.42315e+006)->(394376,4.42544e+006) contour
(394376,4.42544e+006)->(393843,4.42315e+006) contour
(394376,4.42544e+006)->(355312,4.43462e+006) contour
(355312,4.43462e+006)->(394376,4.42544e+006) contour
(354723,4.43218e+006)->(356213,4.43315e+006) bisector//平分線70((16+19)*2)
(356213,4.43315e+006)->(354723,4.43218e+006) bisector
(355805,4.43199e+006)->(356495,4.43309e+006) bisector
(356495,4.43309e+006)->(355805,4.43199e+006) bisector
(355937,4.43181e+006)->(356195,4.43201e+006) bisector
(356195,4.43201e+006)->(355937,4.43181e+006) bisector
(356012,4.43172e+006)->(356195,4.43201e+006) bisector
(356195,4.43201e+006)->(356012,4.43172e+006) bisector
(358214,4.43119e+006)->(359772,4.4322e+006) bisector
(359772,4.4322e+006)->(358214,4.43119e+006) bisector
(358198,4.43111e+006)->(359823,4.43212e+006) bisector
(359823,4.43212e+006)->(358198,4.43111e+006) bisector
(358286,4.43109e+006)->(359973,4.43208e+006) bisector
(359973,4.43208e+006)->(358286,4.43109e+006) bisector
(357810,4.42914e+006)->(358990,4.42888e+006) bisector
(358990,4.42888e+006)->(357810,4.42914e+006) bisector
(357580,4.42798e+006)->(358990,4.42888e+006) bisector
(358990,4.42888e+006)->(357580,4.42798e+006) bisector
(396404,4.41855e+006)->(395008,4.42084e+006) bisector
(395008,4.42084e+006)->(396404,4.41855e+006) bisector
(397306,4.42227e+006)->(396348,4.4217e+006) bisector
(396348,4.4217e+006)->(397306,4.42227e+006) bisector
(396520,4.42249e+006)->(396348,4.4217e+006) bisector
(396348,4.4217e+006)->(396520,4.42249e+006) bisector
(395673,4.42262e+006)->(395162,4.42092e+006) bisector
(395162,4.42092e+006)->(395673,4.42262e+006) bisector
(395078,4.42289e+006)->(394409,4.42105e+006) bisector
(394409,4.42105e+006)->(395078,4.42289e+006) bisector
(394422,4.42307e+006)->(394140,4.42112e+006) bisector
(394140,4.42112e+006)->(394422,4.42307e+006) bisector
(393935,4.42308e+006)->(393269,4.42123e+006) bisector
(393269,4.42123e+006)->(393935,4.42308e+006) bisector
(393843,4.42315e+006)->(391206,4.42224e+006) bisector
(391206,4.42224e+006)->(393843,4.42315e+006) bisector
(394376,4.42544e+006)->(390659,4.42313e+006) bisector
(390659,4.42313e+006)->(394376,4.42544e+006) bisector
(355312,4.43462e+006)->(356213,4.43315e+006) bisector
(356213,4.43315e+006)->(355312,4.43462e+006) bisector
(356195,4.43201e+006)->(356786,4.4329e+006) bisector
(356786,4.4329e+006)->(356195,4.43201e+006) bisector
(396348,4.4217e+006)->(395162,4.42092e+006) bisector
(395162,4.42092e+006)->(396348,4.4217e+006) bisector
(358990,4.42888e+006)->(361134,4.43019e+006) bisector
(361134,4.43019e+006)->(358990,4.42888e+006) bisector
(356495,4.43309e+006)->(356213,4.43315e+006) bisector
(356213,4.43315e+006)->(356495,4.43309e+006) bisector
(356495,4.43309e+006)->(356786,4.4329e+006) bisector
(356786,4.4329e+006)->(356495,4.43309e+006) bisector
(356786,4.4329e+006)->(359772,4.4322e+006) bisector
(359772,4.4322e+006)->(356786,4.4329e+006) bisector
(359772,4.4322e+006)->(359823,4.43212e+006) bisector
(359823,4.43212e+006)->(359772,4.4322e+006) bisector
(359823,4.43212e+006)->(359973,4.43208e+006) bisector
(359973,4.43208e+006)->(359823,4.43212e+006) bisector
(359973,4.43208e+006)->(361134,4.43019e+006) bisector
(361134,4.43019e+006)->(359973,4.43208e+006) bisector
(395162,4.42092e+006)->(395008,4.42084e+006) bisector
(395008,4.42084e+006)->(395162,4.42092e+006) bisector
(393269,4.42123e+006)->(394140,4.42112e+006) bisector
(394140,4.42112e+006)->(393269,4.42123e+006) bisector
(393269,4.42123e+006)->(391206,4.42224e+006) bisector
(391206,4.42224e+006)->(393269,4.42123e+006) bisector
(395008,4.42084e+006)->(394409,4.42105e+006) bisector
(394409,4.42105e+006)->(395008,4.42084e+006) bisector
(394409,4.42105e+006)->(394140,4.42112e+006) bisector
(394140,4.42112e+006)->(394409,4.42105e+006) bisector
(391206,4.42224e+006)->(390659,4.42313e+006) bisector
(390659,4.42313e+006)->(391206,4.42224e+006) bisector
(361134,4.43019e+006)->(390659,4.42313e+006) bisector
(390659,4.42313e+006)->(361134,4.43019e+006) bisector

(3)交點,交叉點(重疊區域鑲嵌線起始、結束點)
  下圖中黃色圓圈爲兩幅影像有效區域線的8個交點,黑色帶有×的爲交叉點
結合交點,交叉點(重疊區域鑲嵌線起始、結束點)
2 構造有向圖,求重疊區域鑲嵌線
(1)由骨架點(skeleton vertex)和平分線(bisector)構建圖;
  其中建圖的起始、結束點爲對於有效區域的進出點。
(2)使用dijkstra查找到起始、結束點之間的最短距離路徑。
下圖中紅色小框爲最短路徑點,即爲鑲嵌線點:
搜索到的最短路徑點,鑲嵌線點
3 構造貢獻區域
根據有效區域點、交叉點、重疊區域點構造每幅影像的貢獻區域:
兩幅圖的鑲嵌線
4 demo
(1)兩幅影像無壓縮有效區域
兩幅影像無壓縮有效區域
(2)兩幅影像壓縮有效區域
兩幅影像壓縮有效區域
(3)交點
<1> 左側交點
左側交叉點
<2>右側交點
右側交叉點
(4)鑲嵌線與有效區域疊加
鑲嵌線與有效區域疊加
(5)鑲嵌線與有效區域疊加細節
<1>左側細節
左側細節
<2>右側細節
右側細節

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章