關于Python 的簡單柵格圖像邊界提取方法
在GIS中,柵格屬性里有關于柵格自身的信息,背景(nodata value)對于識別一張圖像的邊界像元尤為重要,我們目的只要把每行每列中的第一次出現(xiàn)不是nodata的像元和最后一次出現(xiàn)nodata的前一個像元就可以了。
對于柵格,可以用ArcPy中的RasterToNumpyArray函數(shù)將將柵格轉(zhuǎn)成numpy數(shù)組,然后就可以按照所想讀取出每行列中首尾像元。
以下是部分代碼提取邊界像元的核心算法,其實是很簡單的一個思路(假設0是nodata value)。
a=[[0 for col in range(Raster.width)]for row in range(Raster.height)] for i in range(0,Raster.width): ... for j in range(0,Raster.height): ... if(myRaster[j][i]!=0 and myRaster[j-1][i]==0): ... a[j][i]=myRaster[j][i] ... if(myRaster[j][i]==0 and myRaster[j-1][i]!=0): ... a[j-1][i]=myRaster[j-1][i] ... for i in range(0,myRaster.height): ... for j in range(0,myRaster.width): ... if(arr[i][j]!=0 and arr[i][j-1]==0): ... a[i][j]=arr[i][j] ... if(arr[i][j]==0 and arr[i][j-1]!=0): ... a[i][j-1]=arr[i][j-1]
以上這篇關于Python 的簡單柵格圖像邊界提取方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
詳解Pandas中stack()和unstack()的使用技巧
當你在處理包含某種序列(例如時間序列數(shù)據(jù))的變量的數(shù)據(jù)集時,數(shù)據(jù)通常需要進行重塑。Pandas?提供了各種用于重塑?DataFrame?的內(nèi)置方法。其中,stack()?和?unstack()?是最流行的,本文總結了這兩個方法的7種使用技巧,需要的可以參考一下2022-03-03
python?opencv實現(xiàn)灰度圖和彩色圖的互相轉(zhuǎn)換
這篇文章主要給大家介紹了關于python?opencv實現(xiàn)灰度圖和彩色圖的互相轉(zhuǎn)換,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2022-01-01
使用numpy實現(xiàn)topk函數(shù)操作(并排序)
這篇文章主要介紹了使用numpy實現(xiàn)topk函數(shù)操作(并排序),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-05-05
Python創(chuàng)建Excel表和讀取Excel表的基本操作
這篇文章主要介紹了Python創(chuàng)建Excel表和讀取Excel表的基本操作,文中通過代碼示例和圖文結合的方式講解的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下2024-07-07

