国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

城市正射影像圖任意范圍裁切的算法設計及實現(xiàn)

2010-04-19 07:00:44張鵬程
城市勘測 2010年4期
關鍵詞:圖幅射影多邊形

張鵬程

(廣州市城市規(guī)劃勘測設計研究院,廣東廣州 510060)

城市正射影像圖任意范圍裁切的算法設計及實現(xiàn)

張鵬程?

(廣州市城市規(guī)劃勘測設計研究院,廣東廣州 510060)

根據(jù)城市正射影像圖的特點,在建立了影像的像素坐標和空間地理坐標對應關系的基礎上,以VB 6.0實現(xiàn)了任意圖幅和任意范圍影像圖的拼接與裁切,本文給出的算法和代碼具有易于理解,不依賴于其他平臺而便于移植,功能強大等優(yōu)點。

城市正射影像圖;拼接與裁切;任意范圍;Visual Basic 6.0

1 前 言

作為基礎測繪4D產(chǎn)品之一的城市正射影像圖,是城市基礎地理空間數(shù)據(jù)庫的重要組成部分,具有信息量豐富、直觀、獲取信息快速、數(shù)據(jù)現(xiàn)勢性好、管理動態(tài)性強等優(yōu)點,是空間數(shù)據(jù)提取[1]、影像地圖集制作[2]、GIS系統(tǒng)開發(fā)中的重要數(shù)據(jù)源。

眾多學者在分析傳統(tǒng)影像圖幅拼接與裁切方法的局限性的基礎上,對影像的拼接和裁切進行了廣泛而深入地研究,取得了顯著的進展[2~5]。但歸納起來,仍然存在以下不足:①實現(xiàn)了矩形范圍的裁切,而對于任意范圍的裁切研究較少:實際的裁切范圍往往是不規(guī)則的,如按行政區(qū)或街道等范圍的裁切;②裁切的過程依然或多或少地依賴第三方影像處理軟件;③未能充分利用影像圖的特點,裁切實現(xiàn)的方法過于復雜,不利于推廣。

本文根據(jù)城市正射影像圖的特點,通過自定義的算法設計,不僅實現(xiàn)了任意圖幅、任意范圍(包括矩形和多邊形范圍)影像圖的自動拼接和裁切,而且具有完全不依賴于任何圖像處理軟件(如Photoshop)和專業(yè)空間數(shù)據(jù)處理軟件(如Erdas、ArcGIS)等優(yōu)點,同時可以非常方便地移植到用戶開發(fā)的GIS系統(tǒng)中,極大地拓展了城市正射影像圖在“數(shù)字城市”中的應用領域。

2 城市正射影像圖的特點分析

城市正射影像圖是利用數(shù)字高程模型對掃描處理的數(shù)字化的航空像片,通過象元進行糾正,再按影像鑲嵌,根據(jù)圖幅范圍剪裁生成的影像數(shù)據(jù)。因此,我國大多數(shù)城市的正射影像圖具有如下兩個顯著特性:①按圖幅存放:每幅影像圖一般以所在城市的1∶2 000圖幅號來命名,其4個角的坐標可由圖幅號得到,同時代表的實際長和寬固定;②以常見的柵格文件形式存儲:通常的格式包括bmp、jpg、tif等,而且同一年代版本的圖像像素個數(shù)固定不變。

以廣州市為例,244201.jpg為一幅標準的影像圖,根據(jù)圖幅號244201可求得該幅影像圖的左下角和右上角的坐標(廣州地方獨立坐標系)分別為:A(40000,27200)、C(41000,28000),圖幅代表的實際長和寬為:

該幅圖像的寬度和高度分為2 500×2 000像素。根據(jù)城市正射影像圖的這兩個特點,可以建立像素坐標和空間地理位置坐標的對應關系。

3 算法設計思路及實現(xiàn)

3.1 影像的拼接

不同圖幅影像的拼接是影像裁切的前提。對于任意給定的一幅影像圖(如244201.jpg),根據(jù)上述影像圖的特點分析,不僅可以得到四個角點的坐標,而且可以求得該幅的八鄰域圖幅號(也可以根據(jù)所在城市的聯(lián)合圖幅表得到鄰域關系),如244202.jpg為該圖幅相鄰的右邊圖幅,以該兩幅影像圖的拼接為例,算法思路如下:

(1)添加用于打開影像的圖像控件:在VB 6.0的窗體中加載兩個 Picture控件,分別命名為 Pic1和Pic2,Pic1為分別打開待合并影像的圖像控件,而Pic2為裝載合并結果圖像的控件。

(2)獲取每個像素的顏色值并分解:按行和列循環(huán)讀取源圖像的每個像素,取得該像素的RGB顏色值c,同時寫入到目的圖像控件中。

(3)將圖像控件Pic2中拼接后的圖像保存到硬盤中。

源程序代碼如下:

如果是上下兩幅影像的拼接,只需將上述代碼中Pic2的寬度保持不變,高度擴大一倍,同時將代碼“Pic2.PSet(i+2500,j),c”改為“Pic2.PSet(i,j+2000),c”即可。

對于任意圖幅的拼接,將第一個圖幅的所有像素顏色值寫入目的控件Pic2中,在讀取第二個圖幅時,根據(jù)圖幅號判斷其與第一個圖幅的關系,根據(jù)鄰接關系,適當調(diào)整上述相關代碼,寫入到目的控件Pic2中,同時將該圖幅設為當前圖幅,然后依次循環(huán)讀取其他所有圖幅,根據(jù)其與當前圖幅的關系,即可實現(xiàn)任意圖幅的拼接。

3.2 影像的裁切

影像的裁切與拼接不同,裁切的范圍往往是用戶任意指定的空間坐標范圍。為此,必須建立影像圖中每個像素與空間坐標的對應關系,然后,根據(jù)像素的空間坐標判斷其與裁切范圍的空間位置關系,如果在裁切范圍內(nèi),則取該像素的顏色值并寫入到目的圖像控件中。

顯然,建立每幅影像的像素與空間坐標的對應關系是進行任意范圍影像裁切的前提。仍以上述的244201.jpg為例,圖1為該圖幅影像的像素分布與空間位置示意關系,圖中像素的分布是以圖像左上角為起點的,而圖像代表的實際空間坐標則以左下角為起點的。圖像實際長為WBC=1 000,寬為HAB=800,像素值為2 500×2 000,即沿BC方向,每行的像素個數(shù)是 2 500個,而沿BA方向,每列的像素個數(shù)是2 000個。

因此,對于第i行,第j列的某個像素,其空間位置坐標可以唯一確定,如下:

圖1 圖幅影像的像素分布與空間位置示意關系

對于圖1中的任意裁切范圍多邊形FFGH,實現(xiàn)裁切的思路如下:

(1)將待裁切的影像裝載到Pic1中,循環(huán)讀取該圖幅影像的所有像素,對于第i行,第j列的像素,得到該像素的空間坐標Xij和Yij,同時獲取該像素的RGB顏色值c。

(2)利用點與多邊形空間位置關系的判定算法,判斷點(Xij,Yij)是否在多邊形EFGH內(nèi),如果在,則將該像素及顏色值寫入到目標控件Pic2中,否則,不寫入,然后讀取下一個像素,直到程序結束。

(3)將圖像控件Pic2中裁切后的圖像保存到硬盤中。

程序代碼如下:

其中,ptInPoly為判斷指定像素點是否在給定的裁切范圍(多邊形)內(nèi)的函數(shù),點與多邊形的關系及算法是《計算幾何》中常見的算法,非常成熟,關于點與多邊形關系的具體判定算法,讀者可參考文獻[6,7],本文略。

如果裁切的范圍是矩形,只需將上述判斷像素點是否在多邊形內(nèi)的程序代碼改成判斷像素點是否在矩形范圍內(nèi)即可,判斷條件為:(Xmin<Xij<Xmax)AND (Ymin<Yij<Ymax),其中Xmin、Xmax分別為矩形范圍X坐標的最小和最大值,Ymin、Ymax分別為矩形范圍Y坐標的最小和最大值。

對于跨多幅裁切范圍的實現(xiàn)方法有兩種:一是將多幅相鄰接的影像按上述影像拼接的方法拼接起來,然后再調(diào)用影像裁切的方法;二是循環(huán)調(diào)用所有圖幅內(nèi)的所有像素,得到每個像素的空間位置坐標,通過判斷其與裁切范圍的關系來實現(xiàn)。比較起來,方法一由于先拼接后裁切而效率低,本文采用方法二。

3.3 系統(tǒng)實現(xiàn)

圖2為影像自動拼接示意圖。當單擊“加載影像”按鈕時,系統(tǒng)用4個圖像控件(Picture)分別裝載待合并的上、下、左、右4幅影像,單擊“影像拼接”按鈕,系統(tǒng)根據(jù)影像所在圖幅的空間位置關系自動完成影像的拼接。在實際應用中,為了提高拼接的效率,可以設置圖像控件不可見(Visible=false),而且可以只使用一個圖像控件,依次循環(huán)讀取待拼接的影像進行拼接。

圖3為影像自動裁切示意圖。首先,在裁切范圍坐標格網(wǎng)中輸入要裁切的任意坐標范圍,或者單擊“讀入坐標”按鈕讀取預定義的坐標;其次,單擊“加載影像”按鈕,系統(tǒng)自動根據(jù)輸入的坐標范圍計算出需要裁切的所有圖幅影像,并按空間位置關系加載在圖像控件,同時畫出裁切范圍;最后,單擊“影像裁切”按鈕,系統(tǒng)自動完成影像的裁切。

圖2 影像自動拼接示意圖

圖3 影像自動裁切示意圖

4 結 語

本文巧妙地利用了城市正射影像圖分圖幅存放、同一套影像圖分辨率大小固定的特點,通過建立影像圖中像素與空間坐標的一一對應關系,并采用《計算幾何》中常用的點與多邊形關系的判定算法,完全在VB 6.0上實現(xiàn)了任意圖幅和任意范圍影像圖的拼接與裁切,不僅克服了傳統(tǒng)圖像處理軟件沒有空間定位的概念,所有的拼接和裁切都需要目視判斷和手工操作,既費時精度也不高的缺點;而且,同專業(yè)的影像處理軟件相比,本文提出的方法簡單可靠、成本低,同時可以非常方便地嵌入到其他應用系統(tǒng)中。

此外,在上述程序代碼的基礎上,通過對c值的顏色分解:r=(cAnd&HFF),g=(cAnd 65280)\256,b=(cAnd&HFF0000)\65536,可以獲取任意一個像素的RGB顏色分量,然后利用VB強大的文件循環(huán)讀取和處理功能,可以批量處理諸如常見影像操作中的分辨率變換、單色圖像生成、彩色圖像變灰度圖像等工作。因此,讀者可以利用本文提出的思路和方法,再結合VB或VC等編程語言強大的開發(fā)功能,設計出界面更友好、功能更強大的影像自動化處理(包括拼接與裁切功能)程序。

參考文獻

[1]周紹光,徐勇.在高分辨率遙感影像中提取無清晰連續(xù)邊緣線的道路[J].測繪學報,2008,37(3):301~307

[2]鄧術軍,魏斌.影像地圖編制中圖幅的自動拼接與裁切[J].測繪科學,2008,33(4):109~112

[3]李智明,朱紫陽.基于ArcObject二次開發(fā)的遙感影像裁切的實現(xiàn)[J].地理空間信息,2008,6(4):37~39

[4]李奇.數(shù)字正射影像拼接的研究[J].地理空間信息,2005,3(1):10~11

[5]周延剛.遙感彩色影像鑲嵌拼接縫的消除方法研究[J].計算機工程和應用,2004(36):84~86

[6]王澤根.射線法判定點與多邊形包含關系的改進[J].解放軍測繪學院學報,1999,16(2):130~132

[7]張鵬程.基于點與多邊形關系的地形圖圖幅查詢系統(tǒng)實現(xiàn)[J].測繪通報,2008(10):68~70

The Algorithm and Realization of the City Digital Orthophoto Maps for Automatic Clipping of Arbitrary Scope

Zhang PengCheng
(Guangzhou Urban Planning&Design Survey Research Institute,Guangdong 510060,China)

Firstly,According to the properties of most city digital orthophoto maps of China,the corresponding relationship of pixels and map coordinates is build.Using VB 6.0 and coding,the City Digital Orthophoto Maps for automatic connecting and clipping of arbitrary scope is realized.The algorithm and code have some advantages as follows:easy to understand,independent of any platforms,and powerful to use.

Digital Orthophoto Maps;Connecting and clipping;Arbitrary Scope;VB 6.0

1672-8262(2010)04-110-04

P209

B

2009—11—06

張鵬程(1975—),男,高級工程師,主要從事GIS應用系統(tǒng)開發(fā)工作。

廣州市科技技術局基金項目(2009J1-C441)

猜你喜歡
圖幅射影多邊形
多邊形中的“一個角”問題
多邊形的藝術
解多邊形題的轉(zhuǎn)化思想
多邊形的鑲嵌
三參數(shù)射影平坦芬斯勒度量的構造
基于已有控制資料的正射影像自動更新
遙感信息(2015年3期)2015-12-13 07:26:50
基于EXCEL的地形圖圖幅號轉(zhuǎn)換查詢方法
自然保護地(2015年3期)2015-12-03 02:29:54
基于改進射影控制的柔性直流輸電廣域阻尼控制
基于ArcMap的圖幅接合表快速生成方法研究
地形圖圖幅編號規(guī)則及實現(xiàn)
城市勘測(2014年4期)2014-06-24 14:33:27
阳新县| 麻江县| 嫩江县| 香河县| 克山县| 清镇市| 乳山市| 天镇县| 察隅县| 金湖县| 湘潭市| 花莲市| 牙克石市| 汶川县| 台北县| 甘德县| 屏边| 东乌珠穆沁旗| 子洲县| 个旧市| 白朗县| 安岳县| 扶沟县| 怀来县| 贵州省| 舞钢市| 玉山县| 汾西县| 林芝县| 日照市| 保亭| 大余县| 惠东县| 墨竹工卡县| 泰安市| 通江县| 宁陕县| 陵水| 叙永县| 大安市| 疏勒县|