當(dāng)前位置: 首頁(yè) > 新聞資訊 > 常見問題解答

柵格數(shù)據(jù)有效/無(wú)效掩膜的計(jì)算與表達(dá)

發(fā)布日期:2023-07-11 18:16 瀏覽量:7093

因?yàn)槎喾N原因,柵格數(shù)據(jù)中經(jīng)常存在一些無(wú)效像素。在航天測(cè)繪遙感中,遙感器獲取的單景影像在經(jīng)過投影坐標(biāo)變換后往往會(huì)存在黑邊(見圖 1(a)),黑邊內(nèi)的像素為無(wú)效像素。在航空測(cè)繪遙感中,位于測(cè)區(qū)外的像素也可能被拍攝/掃描到,但是在成果交付時(shí)往往只需要輸出測(cè)區(qū)內(nèi)的像素,測(cè)區(qū)外的像素即為無(wú)效像素(見圖 2(a))。柵格數(shù)據(jù)常采用二值的掩膜來表達(dá)像素有效或無(wú)效。

基于像素值的掩膜計(jì)算

單個(gè)波段的掩膜的計(jì)算非常簡(jiǎn)單。設(shè)對(duì)于某個(gè)波段,值為0代表無(wú)效值,值非0代表有效值,則利用Envi的band math功能計(jì)算掩膜的方法為:

byte((b1 ne 0)*255)

設(shè)值范圍在[M,N]內(nèi)的為有效值,其它值為無(wú)效值,則計(jì)算掩膜的方法為:

byte((b1 ge M and b1 le N)*255)

基于各個(gè)波段的掩膜,可以計(jì)算出整個(gè)數(shù)據(jù)集的掩膜。對(duì)于3波段真彩色影像,計(jì)算方法為:

byte((b1 eq 255) and (b2 eq 255) and (b3 eq 255))*byte(255)

在生成的掩膜中,255代表有效像素,0代表無(wú)效像素。相關(guān)示例可見圖 1。

圖 1 基于像素值的掩膜計(jì)算示例

基于矢量邊界的掩膜計(jì)算

無(wú)論是基于測(cè)區(qū)邊界,圖幅邊界還是ROI生成掩膜,均可以歸結(jié)為基于矢量邊界的掩膜計(jì)算。如果矢量邊界對(duì)應(yīng)的面狀幾何元素存在多個(gè)不重疊的部分,例如測(cè)區(qū)由多個(gè)不聯(lián)通、不重疊的子測(cè)區(qū)構(gòu)成[1],則矢量邊界可以表達(dá)為OGC簡(jiǎn)單特征規(guī)范定義的多多邊形(MultiPolygon),否則可以表達(dá)為多邊形(Polygon),多邊形允許帶有空洞[2]。

基于矢量邊界計(jì)算掩膜,可以采用矢量到柵格轉(zhuǎn)換的方法(需要確保兩種柵格數(shù)據(jù)的分辨率一致),也可以采用幾何分析的方法。下面介紹幾何分析的方法。

文獻(xiàn)[3]提出一種基于四叉樹的方法,其核心思想是對(duì)柵格數(shù)據(jù)進(jìn)行四叉樹分割,判斷分割出的每個(gè)部分對(duì)應(yīng)的矩形和矢量邊界對(duì)應(yīng)的面狀幾何元素之間是否存在重疊。如果存在重疊,則對(duì)矩形再次進(jìn)行四叉樹分割,直至分割出的每個(gè)部分所含像素?cái)?shù)目低于指定閾值。由于該算法是遞歸執(zhí)行的,在柵格數(shù)據(jù)行列數(shù)較多時(shí),對(duì)棧空間的需求較大,容易發(fā)生棧溢出。為提高計(jì)算穩(wěn)定性,可以逐塊(Block)計(jì)算。對(duì)于支持按塊存儲(chǔ)的格式,例如Tiff,按塊存儲(chǔ)柵格數(shù)據(jù)可以有效降低計(jì)算對(duì)??臻g的需求。設(shè)每塊大小為256*256,則四叉樹最大深度為8層。對(duì)于Asc格式,雖然其不支持按塊存儲(chǔ),但該方法仍然可用,只不過一行為一個(gè)塊,四叉樹分割變?yōu)槎鏄浞指睢?/span>

判斷單個(gè)像素是否在矢量邊界內(nèi),可采用如下兩種判斷方法:

(1)基于像素中心的方法。如果像素中心在矢量邊界對(duì)應(yīng)的面狀幾何元素內(nèi),則認(rèn)為像素為有效像素,否則為無(wú)效像素;

(2)基于像素邊界的方法。計(jì)算像素邊界對(duì)應(yīng)的矩形和矢量邊界對(duì)應(yīng)的面狀幾何元素之間的重疊面積。如果重疊面積占像素面積的比例大于指定閾值p,則認(rèn)為像素為有效像素,否則為無(wú)效像素。其中,如果p取0,則意味著如果像素有任何一部分在矢量邊界內(nèi),像素即為有效像素;如果p取0.5,且在單個(gè)像素內(nèi)的矢量邊界為直線段,則此時(shí)該判斷方法和基于像素中心的方法等價(jià)。

圖 2是利用矢量邊界裁剪DEM數(shù)據(jù)的效果圖。

圖 2 基于矢量邊界的裁剪DEM的效果,紅線為矢量邊界

掩膜的表達(dá)形式

掩膜的主要表達(dá)形式包括:

(1)掩膜文件。GDAL采用后綴為msk,但實(shí)質(zhì)為TIFF格式的柵格文件(簡(jiǎn)稱掩膜文件)存儲(chǔ)掩膜數(shù)據(jù)。掩膜文件的行列數(shù)、塊大小、路徑與對(duì)應(yīng)的柵格數(shù)據(jù)相同,但文件名比柵格數(shù)據(jù)多“.msk”。掩膜文件存儲(chǔ)的數(shù)據(jù)類型為1字節(jié)無(wú)符號(hào)整型(下文簡(jiǎn)稱uint_8t),0代表像素?zé)o效,非0(一般是255)代表像素有效。掩膜文件的波段數(shù)要么為1,適用于整個(gè)柵格數(shù)據(jù),要么和柵格數(shù)據(jù)的波段數(shù)相同,第K個(gè)波段適用于柵格數(shù)據(jù)的第K個(gè)波段。

(2)無(wú)數(shù)據(jù)值(nodata value)。在GeoTiff、Asc、ERDAS IMAGINE等格式中,支持無(wú)數(shù)據(jù)值屬性。有的格式支持對(duì)單個(gè)波段設(shè)置無(wú)數(shù)據(jù)值(如GeoTiff),有的格式只支持對(duì)數(shù)據(jù)集整體設(shè)置無(wú)數(shù)據(jù)值(如Asc)。常見的GIS和遙感軟件均支持該屬性(見圖 3),在讀取波段數(shù)據(jù)時(shí),如果某像素在某波段的值為指定的無(wú)數(shù)據(jù)值,則認(rèn)為該像素在該波段無(wú)效。在使用該方式時(shí),需要將無(wú)效像素的值設(shè)置為無(wú)數(shù)據(jù)值。在DEM/DSM中,通常選擇一個(gè)明顯不合理的高程值作為無(wú)數(shù)據(jù)值,例如-9999 m。在數(shù)據(jù)類型為uint_8t的3波段真彩色DOM中,通常選擇0或255作為無(wú)數(shù)據(jù)值。但是該做法的風(fēng)險(xiǎn)在于,DOM中的有效像素的波段值也可能為0或255。例如,陰影、水體等低光部分在某些波段可能值為0(見圖 4(a)),白車車頂、云等高光部分在某些波段可能值為255。所以,為確保有效像素不會(huì)出現(xiàn)無(wú)數(shù)據(jù)值,有可能需要修改像素值[3]。

圖 3 常見GIS遙感軟件對(duì)無(wú)數(shù)據(jù)值的支持

(3)alpha波段。在數(shù)據(jù)類型為uint_8t的影像中,alpha波段常被用來存儲(chǔ)不透明度(0代表完全透明,255代表完全不透明)。當(dāng)使用alpha波段存儲(chǔ)掩膜時(shí),GDAL規(guī)定無(wú)效像素表示為0值,有效像素表示為非0值(效果見圖 4(b))。該方法在非遙感GIS領(lǐng)域內(nèi)應(yīng)用較多。但缺點(diǎn)在于,一來只能用于數(shù)據(jù)類型為uint_8t的真彩色影像或灰度影像;二來會(huì)變相增加1個(gè)波段,占用較多的存儲(chǔ)空間。

(4)全部像素均有效。在無(wú)特殊標(biāo)記/說明的情況下,全部像素均為有效像素。

在GDAL中,按(1)、(2)、(3)、(4)的優(yōu)先順序識(shí)別掩膜。

圖 4 采用不同方式的掩膜的效果


參考文獻(xiàn)

[1]程曉光,魏婧,嚴(yán)明,等. 應(yīng)用地表覆蓋數(shù)據(jù)估算LiDAR內(nèi)業(yè)工作量的方法研究[J]. 地理信息世界, 2021, 28(2): 89-94.

[2]程曉光,陸泉源,鄭誠(chéng)慧,等. 使用開源軟件的地圖分幅軟件設(shè)計(jì)與實(shí)現(xiàn)[J]. 測(cè)繪地理信息, 2021, 46(4): 122-127.

[3]佘佐明,程曉光,王艷軍. 基于GDAL開源庫(kù)的海量DOM分幅裁剪[J]. 城市勘測(cè), 2023, No.195(1): 74-78.

猜你喜歡

相關(guān)設(shè)備
推薦服務(wù)
相關(guān)案例
新聞資訊

服務(wù)中心
案例中心
行業(yè)應(yīng)用 技術(shù)應(yīng)用
新聞資訊
行業(yè)資訊 公司新聞 常見問題解答
關(guān)于我們
招賢納士 關(guān)于飛燕 公司設(shè)備 資質(zhì)榮譽(yù) 公司相冊(cè) 客戶評(píng)價(jià) 發(fā)展歷程

聯(lián)系方式

電話:025-83216189

郵箱:frank.zhao@feiyantech.com

地址:江蘇省南京市玄武區(qū)紅山街道領(lǐng)智路56
號(hào)星河World產(chǎn)業(yè)園3號(hào)樓北8樓

微信公眾號(hào)

總經(jīng)理微信

025-83216189